#ifndef _DEventProcessor_trackeffv2_ #define _DEventProcessor_trackeffv2_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "ANALYSIS/DMCThrownMatching_factory.h" using namespace std; using namespace jana; class DEventProcessor_trackeffv2 : public JEventProcessor { private: jerror_t init(void); ///< Invoked via DEventProcessor virtual method jerror_t brun(JEventLoop* locEventLoop, int runnumber); jerror_t evnt(JEventLoop* locEventLoop, int eventnumber); ///< Invoked via DEventProcessor virtual method jerror_t erun(void); ///< Invoked via DEventProcessor virtual method jerror_t fini(void); ///< Invoked via DEventProcessor virtual method void MakeAndChangeTo_SubDirectory(string locDirName); void Find_GenReconMatches(const vector& locInputMCThrowns, const vector& locInputKinematicDataVector, map& locDataToThrownMap, map& locThrownToDataMap, bool locRequirePIDMatchFlag); bool Check_IsCloseMatch(const DKinematicData* locKinematicData, const DMCThrown* locMCThrown, bool locIsCandidateFlag); DMCThrownMatching_factory* dMCThrownMatchingFactory; double dMinimumMatchFOM; deque dFinalStatePIDs; double dKinematicsHistBinRange_MinP; double dKinematicsHistBinRange_MaxP; size_t dKinematicsHistBins_NumPBins; double dKinematicsHistBinRange_MinTheta; double dKinematicsHistBinRange_MaxTheta; size_t dKinematicsHistBins_NumThetaBins; double dEfficiencyHists_MinP; double dEfficiencyHists_MaxP; size_t dEfficiencyHists_NumPBins; double dEfficiencyHists_MinTheta; double dEfficiencyHists_MaxTheta; size_t dEfficiencyHists_NumThetaBins; TH1D* dHist_NumCandidates; TH1D* dHist_NumWireBased; TH1D* dHist_NumTimeBased; map dHist_NumThrown; map dHist_CloseEfficiencies_Candidates; map dHist_CloseEfficiencies_WireBased; map dHist_CloseEfficiencies_TimeBased; //1st deque index is thrown p-bin, 2nd is thrown theta-bin map > > dNumThrown; map > > dNumTimesClose_Candidates; map > > dNumTimesClose_WireBased; map > > dNumTimesClose_TimeBased; map > > dHistMap_DeltaPOverP_Candidates; map > > dHistMap_DeltaTheta_Candidates; map > > dHistMap_DeltaPhi_Candidates; map > > dHistMap_DeltaVertexZ_Candidates; map > > dHistMap_DeltaPOverP_WireBased; map > > dHistMap_DeltaTheta_WireBased; map > > dHistMap_DeltaPhi_WireBased; map > > dHistMap_DeltaVertexZ_WireBased; map > > dHistMap_DeltaPOverP_TimeBased; map > > dHistMap_DeltaTheta_TimeBased; map > > dHistMap_DeltaPhi_TimeBased; map > > dHistMap_DeltaVertexZ_TimeBased; }; #endif // _DEventProcessor_trackeffv2_