1 #ifndef CLICPfoSelectorAnalysis_h
2 #define CLICPfoSelectorAnalysis_h 1
4 #include <EVENT/LCRelation.h>
5 #include <EVENT/MCParticle.h>
6 #include <EVENT/ReconstructedParticle.h>
7 #include <UTIL/LCRelationNavigator.h>
11 #include "marlin/Processor.h"
18 using namespace marlin;
57 virtual void processRunHeader(LCRunHeader* run);
59 virtual void processEvent(LCEvent* evt);
64 void fillTree(LCEvent* evt,
string collName);
73 float cutCosTheta = 0.975;
75 int minHcalEndcapHits = 5;
76 float forwardCosThetaForHighEnergyNeutralHadrons = 0.95, forwardHighEnergyNeutralHadronsEnergy = 10.0;
77 bool analyzePhotons =
true, analyzeChargedPfos =
true, analyzeNeutralHadrons =
true;
78 bool analyzeAll =
true, analyzeSignal =
true, analyzeOverlay =
true;
84 TTree* pfo_tree = NULL;
85 int eventNumber = 0, runNumber = 0;
87 double p = 0.0, px = 0.0, py = 0.0, pz = 0.0, pT = 0.0;
88 double costheta = 0.0, energy = 0.0, mass = 0.0, charge = 0.0;
89 int nTracks = 0, nClusters = 0;
90 double clusterTime = 0.0, clusterTimeEcal = 0.0, clusterTimeHcalEndcap = 0.0;
91 int nCaloHits = 0, nEcalHits = 0, nHcalEndCapHits = 0;
92 int trk_clu_sameMCPart = 0, atLeastOneSignal = 0;
95 vector<string> particleCategories{};
96 vector<string> generationCategories{};
97 map<string, TGraph*> g_timeVsPt{};
98 map<string, TGraph*> g_timeVsPt_central{};
99 map<string, TGraph*> g_timeVsPt_forward{};
100 TH1F* h_energy_tot{};
101 TH1F* h_energy_tot_signal{};
102 TH1F* h_energy_tot_background{};
103 map<string, TH1F*> h_energy{};
104 map<string, TH1F*> h_energy_central{};
105 map<string, TH1F*> h_energy_forward{};
106 map<string, double> energy_tot{};
107 map<string, double> energy_tot_central{};
108 map<string, double> energy_tot_forward{};
109 float en_min = 0.0, en_max = 500;
112 string m_inputPhysicsParticleCollection{};
113 string m_recoMCTruthLink{};
114 string m_SiTracksMCTruthLink{};
115 string m_ClusterMCTruthLink{};
116 vector<MCParticle*> physicsParticles{};
virtual Processor * newProcessor()
CLICPfoSelectorAnalysis processor.