10 #define PFO_ANALYSIS_H 1
12 #include "EVENT/LCStrVec.h"
14 #include "marlin/Processor.h"
16 #include "CalibrationHelper.h"
67 virtual void check(EVENT::LCEvent *pLCEvent);
75 typedef std::vector<const EVENT::ReconstructedParticle *> ParticleVector;
76 typedef std::vector<const EVENT::MCParticle*> MCParticleVector;
77 typedef std::set<const EVENT::MCParticle*> MCParticleList;
78 typedef std::vector<std::string> StringVector;
90 void ExtractCollections(EVENT::LCEvent *pLCEvent);
98 void ApplyPfoSelectionRules(
const EVENT::MCParticle *pMCParticle, MCParticleList &mcPfoCandidates)
const;
105 void MakeQuarkVariables(EVENT::LCEvent *pLCEvent);
110 void PerformPfoAnalysis();
118 static bool SortPfoTargetsByEnergy(
const EVENT::MCParticle *
const pLhs,
const EVENT::MCParticle *
const pRhs);
126 std::string m_inputPfoCollection;
127 std::string m_mcParticleCollection;
130 std::string m_rootFile;
132 int m_lookForQuarksWithMotherZ;
134 float m_mcPfoSelectionRadius;
135 float m_mcPfoSelectionMomentum;
136 float m_mcPfoSelectionLowEnergyNPCutOff;
138 ParticleVector m_pfoVector;
139 MCParticleVector m_pfoTargetVector;
142 int m_nPfosNeutralHadrons;
145 float m_pfoEnergyTotal;
146 float m_pfoEnergyNeutralHadrons;
147 float m_pfoEnergyPhotons;
149 float m_pfoEnergyTracks;
150 float m_pfoECalToEmEnergy;
151 float m_pfoECalToHadEnergy;
152 float m_pfoHCalToEmEnergy;
153 float m_pfoHCalToHadEnergy;
154 float m_pfoMuonToEnergy;
155 float m_pfoOtherEnergy;
157 float m_pfoMassTotal;
159 typedef std::vector<float> FloatVector;
160 FloatVector m_pfoEnergies;
164 FloatVector m_pfoCosTheta;
166 FloatVector m_pfoTargetEnergies;
167 FloatVector m_pfoTargetPx;
168 FloatVector m_pfoTargetPy;
169 FloatVector m_pfoTargetPz;
170 FloatVector m_pfoTargetCosTheta;
172 typedef std::vector<int> IntVector;
173 IntVector m_pfoPdgCodes;
174 IntVector m_pfoTargetPdgCodes;
176 int m_nPfoTargetsTotal;
177 int m_nPfoTargetsNeutralHadrons;
178 int m_nPfoTargetsPhotons;
179 int m_nPfoTargetsTracks;
181 float m_pfoTargetsEnergyTotal;
182 float m_pfoTargetsEnergyNeutralHadrons;
183 float m_pfoTargetsEnergyPhotons;
184 float m_pfoTargetsEnergyTracks;
200 TH1F *m_hPfoEnergySum;
201 TH1F *m_hPfoEnergySumL7A;
203 int m_collectCalibrationDetails;
215 #endif // #ifndef PFO_ANALYSIS_H
virtual void end()
End, called at shutdown.
Definition: PfoAnalysis.cc:320
PfoAnalysis()
Default constructor.
Definition: PfoAnalysis.cc:29
CalibrationHelper class.
Definition: CalibrationHelper.h:29
virtual void processEvent(EVENT::LCEvent *pLCEvent)
Process event, main entry point.
Definition: PfoAnalysis.cc:292
virtual void processRunHeader(lcio::LCRunHeader *pLCRunHeader)
Process run header.
Definition: PfoAnalysis.cc:283
Settings class.
Definition: CalibrationHelper.h:35
virtual void check(EVENT::LCEvent *pLCEvent)
Checks for event.
Definition: PfoAnalysis.cc:314
virtual void init()
Initialize, called at startup.
Definition: PfoAnalysis.cc:204
virtual Processor * newProcessor()
Create new processor.
Definition: PfoAnalysis.h:210
PfoAnalysis class.
Definition: PfoAnalysis.h:30