4747#include " fastjet/tools/Filter.hh"
4848#include < fastjet/ClusterSequence.hh>
4949#include < fastjet/ClusterSequenceArea.hh>
50+ #include < fastjet/tools/Pruner.hh>
5051
5152
5253
@@ -244,16 +245,13 @@ void PhotonJets::produce( edm::Event& iEvent, const edm::EventSetup& iSetup) {
244245 // Now add the photon in
245246 // Take the resulting cands and built again the jet , recluster in exlusive 3 subjets
246247
247- fastjet::JetDefinition jet_def_ca8 (fastjet::cambridge_algorithm ,0.8 );
248- fastjet::ClusterSequence clust_seq_08 (FJparticles, jet_def_ca8 );
248+ fastjet::JetDefinition jet_def_kt8 (fastjet::kt_algorithm ,0.8 );
249+ fastjet::ClusterSequence clust_seq_08 (FJparticles, jet_def_kt8 );
249250 std::vector<fastjet::PseudoJet> jetnew = sorted_by_pt (clust_seq_08.exclusive_jets_up_to (1 ));
250-
251+
252+ Pruner pruner (fastjet::kt_algorithm,0.1 ,0.5 );
253+ PseudoJet jetnew = pruner (jet_new[0 ]);
251254
252- fastjet::PseudoJet sub0;
253- fastjet::PseudoJet sub1;
254- fastjet::PseudoJet suba;
255- fastjet::PseudoJet subb;
256- fastjet::PseudoJet subc;
257255
258256 TVector3 subj1,subj2,subj3;
259257 float subjf1 = -1 ;
@@ -268,8 +266,15 @@ void PhotonJets::produce( edm::Event& iEvent, const edm::EventSetup& iSetup) {
268266 subj2.SetPtEtaPhi (0 ,0 ,0 );
269267 subj3.SetPtEtaPhi (0 ,0 ,0 );
270268
271- if (jetnew[0 ].has_pieces ()){
272- jetnew[0 ].has_parents (sub0,sub1);
269+ if (jetnew.has_pieces ()){
270+
271+ fastjet::PseudoJet sub0;
272+ fastjet::PseudoJet sub1;
273+ fastjet::PseudoJet suba;
274+ fastjet::PseudoJet subb;
275+ fastjet::PseudoJet subc;
276+
277+ jetnew.has_parents (sub0,sub1);
273278 if (sub0.m () > sub1.m () && sub0.has_pieces () && sub0.m () > 0 ) {
274279 sub0.has_parents (suba,subb);
275280 if (suba.pt () > 10 && subb.pt () > 10 && sub1.pt () > 10 ){
@@ -305,7 +310,13 @@ void PhotonJets::produce( edm::Event& iEvent, const edm::EventSetup& iSetup) {
305310 pat::Photon & pho = (*phoColl)[ipho];
306311 double pho_pt = pho.pt ();
307312 double pho_eta = pho.eta ();
308- if (pho_pt < 20 || fabs (pho_eta) > 2.4 ) continue ;
313+ double pho_hoe = pho.hadTowOverEm ();
314+ double pho_sie = pho.full5x5_sigmaIetaIeta ();
315+
316+ if (pho_pt < 20 || fabs (pho_eta) > 2.4 || pho_hoe > 0.09 ) continue ;
317+ if (fabs (pho_eta) <1.479 && pho_sie > 0.0105 ) continue ;
318+ if (fabs (pho_eta) >1.479 && pho_sie > 0.0305 ) continue ;
319+
309320 double pho_phi = pho.phi ();
310321 TVector3 phovect;
311322 phovect.SetPtEtaPhi (pho_pt,pho_eta,pho_phi);
@@ -408,10 +419,16 @@ void PhotonJets::produce( edm::Event& iEvent, const edm::EventSetup& iSetup) {
408419 FJparticlesUPDATED.push_back ( PhoC );
409420 }
410421 // Find the new jet
411- fastjet::ClusterSequence clust_seq_08_Updated (FJparticlesUPDATED, jet_def_ca8 );
422+ fastjet::ClusterSequence clust_seq_08_Updated (FJparticlesUPDATED, jet_def_kt8 );
412423 std::vector<fastjet::PseudoJet> jetUpdated = sorted_by_pt (clust_seq_08_Updated.exclusive_jets_up_to (1 ));
413424
414425 if (jetUpdated[0 ].has_pieces ()){
426+ fastjet::PseudoJet sub0;
427+ fastjet::PseudoJet sub1;
428+ fastjet::PseudoJet suba;
429+ fastjet::PseudoJet subb;
430+ fastjet::PseudoJet subc;
431+
415432 jetUpdated[0 ].has_parents (sub0,sub1);
416433 if (sub0.m () > sub1.m () && sub0.has_pieces () && sub0.m () > 0 ) {
417434 sub0.has_parents (suba,subb);
@@ -471,7 +488,7 @@ void PhotonJets::produce( edm::Event& iEvent, const edm::EventSetup& iSetup) {
471488 seta0 = subj3.Eta (); seta1 = subj1.Eta (); seta2 = subj2.Eta ();
472489 }
473490
474- }
491+
475492
476493 int pho_s1 = -1 ;
477494 int pho_s2 = -1 ;
@@ -586,7 +603,7 @@ void PhotonJets::produce( edm::Event& iEvent, const edm::EventSetup& iSetup) {
586603 }
587604
588605 }// eof good subjets
589-
606+ }
590607
591608 }// EOF FOUND photon in the jet
592609
0 commit comments