8 #ifndef _DReaction_factory_ReactionFilter_
9 #define _DReaction_factory_ReactionFilter_
15 #include "JANA/JFactory.h"
34 SetFactoryFlag(PERSISTANT);
36 const char*
Tag(
void){
return "ReactionFilter";}
39 bool dDebugFlag =
false;
41 jerror_t evnt(JEventLoop* locEventLoop, uint64_t locEventNumber);
44 map<size_t, tuple<string, string, string, vector<string>>> Parse_Input(
void);
45 bool Convert_StringToPID(
string locString,
Particle_t& locPID,
bool& locIsMissingFlag);
47 string Create_StepNameString(
const DReactionStepTuple& locStepTuple,
bool locFirstStepFlag);
50 void Set_Flags(
DReaction* locReaction,
string locRemainingFlagString);
54 void Create_Steps(
DReaction* locReaction,
DReactionStep* locCurrentStep, vector<DReactionStepTuple>& locDecayStepTuples);
55 vector<DReaction*> Create_Reactions(
const map<
size_t, tuple<
string,
string,
string, vector<string>>>& locInputStrings);
59 void Add_MassHistograms(
DReaction* locReaction,
bool locUseKinFitResultsFlag,
string locBaseUniqueName =
"");
60 void Create_InvariantMassHistogram(
DReaction* locReaction,
Particle_t locPID,
bool locUseKinFitResultsFlag,
string locBaseUniqueName);
61 void Create_MissingMassSquaredHistogram(
DReaction* locReaction,
Particle_t locPID,
bool locUseKinFitResultsFlag,
string locBaseUniqueName,
int locMissingMassOffOfStepIndex,
const deque<Particle_t>& locMissingMassOffOfPIDs);
62 void Add_PostKinfitTimingCuts(
DReaction* locReaction);
69 #endif // _DReaction_factory_ReactionFilter_
deque< DReactionStep * > dReactionStepPool
DReaction_factory_ReactionFilter()
tuple< Particle_t, Particle_t, vector< Particle_t >, Particle_t, int > DReactionStepTuple