10 #include<calobase/RawCluster.h>
11 #include<calobase/RawClusterContainer.h>
13 #include <g4hough/SvtxTrackMap.h>
14 #include <g4hough/SvtxTrack.h>
19 #include<fun4all/getClass.h>
21 #include <fastjet/JetDefinition.hh>
22 #include <fastjet/PseudoJet.hh>
23 #include <fastjet/ClusterSequence.hh>
24 #include <fastjet/SISConePlugin.hh>
30 #include <TLorentzVector.h>
37 typedef std::map<int,TLorentzVector*>
tlvmap;
53 jet_ptmin(jet_ptmin), jet_ptmax(jet_ptmax),
54 LeadPtMin(LeadPtMin), SubLeadPtMin(SubLeadPtMin),
55 max_track_rap (max_track_rap), PtConsLo (PtConsLo), PtConsHi (PtConsHi),
57 pJAhi (0), pJAlo(0), pOtherJAlo(0)
96 area_def = fastjet::AreaDefinition(fastjet::active_area_explicit_ghosts,
area_spec);
102 std::cout <<
" ################################################### " << std::endl;
103 std::cout <<
"Leading jet above " << LeadPtMin << std::endl;
104 std::cout <<
"Sub-Leading jet above " << SubLeadPtMin << std::endl;
105 std::cout <<
"Clustered with " <<
jet_def.description() << std::endl;
106 std::cout <<
"Area Spec " <<
area_spec.description() << std::endl;
107 std::cout <<
"Area Def " <<
area_def.description() << std::endl;
108 std::cout <<
" ################################################### " << std::endl;
129 cout <<
"------PHAJMaker::Init(PHCompositeNode*)------" << endl;
140 TH1::SetDefaultSumw2(
true);
141 TH2::SetDefaultSumw2(
true);
142 TH3::SetDefaultSumw2(
true);
144 UnmatchedAJ_hi =
new TH2D(
"UnmatchedAJ_hi",
"Unmatched A_{J} for hard constituent jets;A_{J};Refmult;fraction", 40, -0.3, 0.9, 800, -0.5, 799.5 );
145 AJ_hi =
new TH2D(
"AJ_hi",
"A_{J} for hard constituent jets;A_{J};Refmult;fraction", 40, -0.3, 0.9, 800, -0.5, 799.5 );
146 AJ_lo =
new TH2D(
"AJ_lo",
"A_{J} for soft constituent jets;A_{J};Refmult;fraction", 40, -0.3, 0.9, 800, -0.5, 799.5 );
160 cout <<
"------PHAJMaker::process_event(PHCompositeNode*)------" << endl;
165 PJContainer* particlesCont = findNode::getClass<PJContainer> (topNode,
"PJ");
166 std::vector<fastjet::PseudoJet>&
particles = particlesCont->
data;
169 double EventClassifier=0;
209 cout <<
" -------------------------------------------------------------------- " << endl;
210 cout <<
"particles.size() = " << particles.size() << endl;
211 cout <<
"pLo.size() = " <<
pLo.size() << endl;
212 cout <<
"pHi.size() = " <<
pHi.size() << endl;
213 cout <<
"JAhiResult.size() = " <<
JAhiResult.size() << endl;
215 cout <<
"JAhiResult.at(" <<
i<<
").pT() = " <<
JAhiResult.at(
i).pt() << endl;
217 cout <<
" -------------------------------------------------------------------- " << endl;
234 assert (
DiJetsHi.size() == 2 &&
"SelectorDijets returned impossible number of Dijets." );
257 SelectClose.set_reference(
DiJetsHi.at(0) );
261 if ( MatchedToLead.size() == 0 ) {
262 std::cerr <<
"PROBLEM: SelectorClose returned no match to leading jet." << std::endl;
266 DiJetsLo.push_back ( MatchedToLead.at(0) );
268 SelectClose.set_reference(
DiJetsHi.at(1) );
270 if ( MatchedToSubLead.size() == 0 ) {
271 std::cerr <<
"PROBLEM: SelectorClose returned no match to sub-leading jet." << std::endl;
275 DiJetsLo.push_back ( MatchedToSubLead.at(0) );
277 if ( fabs(
DiJetsLo.at(0).eta())>
max_rap ) std:: cerr <<
"Uh-oh... Lead jet eta = " <<
DiJetsLo.at(0).eta() << std::endl;
278 if ( fabs(
DiJetsLo.at(1).eta())>
max_rap ) std:: cerr <<
"Uh-oh... SubLead jet eta = " <<
DiJetsLo.at(1).eta() << std::endl;
287 cout <<
" -------------------------------------------------------------------- " << endl;
288 cout <<
"DiJetsHi.at(0).pT() = " <<
DiJetsHi.at(0).pt() << endl;
289 cout <<
"DiJetsHi.at(1).pT() = " <<
DiJetsHi.at(1).pt() << endl;
291 cout <<
"DiJetsLo.at(0).pT() = " <<
DiJetsLo.at(0).pt() << endl;
292 cout <<
"DiJetsLo.at(1).pT() = " <<
DiJetsLo.at(1).pt() << endl;
294 cout <<
" -------------------------------------------------------------------- " << endl;