11 #include "JANA/JEventLoop.h"
70 DAnalysisAction(locReaction,
"Cut_MinTrackHits", false, locActionUniqueString),
71 dMinTrackHits(locMinTrackHits), dParticleID(nullptr){}
73 string Get_ActionName(
void)
const;
74 void Initialize(JEventLoop* locEventLoop);
77 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
89 DAnalysisAction(locReaction,
"Cut_ThrownTopology", false, locActionUniqueString),
90 dExclusiveMatchFlag(locExclusiveMatchFlag){}
92 string Get_ActionName(
void)
const;
93 void Initialize(JEventLoop* locEventLoop);
96 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
106 DAnalysisAction(locReaction,
"Cut_AllTracksHaveDetectorMatch", false, locActionUniqueString) {}
111 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
118 DAnalysisAction(locReaction,
"Cut_PIDFOM", false, locActionUniqueString),
119 dStepPID(locStepPID), dParticleID(locParticleID), dMinimumConfidenceLevel(locMinimumConfidenceLevel), dCutNDFZeroFlag(locCutNDFZeroFlag){}
121 string Get_ActionName(
void)
const;
125 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
137 DAnalysisAction(locReaction,
"Cut_EachPIDFOM", false, locActionUniqueString),
138 dMinimumConfidenceLevel(locMinimumConfidenceLevel), dCutNDFZeroFlag(locCutNDFZeroFlag){}
140 string Get_ActionName(
void)
const;
144 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
154 DAnalysisAction(locReaction,
"Cut_CombinedPIDFOM", false, locActionUniqueString), dMinimumConfidenceLevel(locMinimumConfidenceLevel), dCutNDFZeroFlag(locCutNDFZeroFlag){}
156 string Get_ActionName(
void)
const;
160 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
170 DAnalysisAction(locReaction,
"Cut_CombinedTrackingFOM", false, locActionUniqueString), dMinimumConfidenceLevel(locMinimumConfidenceLevel){}
172 string Get_ActionName(
void)
const;
176 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
185 DAnalysisAction(locReaction,
"Cut_TrueBeamParticle", false, locActionUniqueString){}
190 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
198 DAnalysisAction(locReaction,
"Cut_TrueCombo", false, locActionUniqueString),
199 dMinThrownMatchFOM(locMinThrownMatchFOM), dExclusiveMatchFlag(locExclusiveMatchFlag),
200 dCutAction_ThrownTopology(NULL), dCutAction_TrueBeamParticle(NULL){}
202 void Initialize(JEventLoop* locEventLoop);
207 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
229 DCutAction_BDTSignalCombo(
const DReaction* locReaction,
double locMinThrownMatchFOM,
bool locExclusiveMatchFlag,
bool locIncludeDecayingToReactionFlag,
string locActionUniqueString =
"") :
230 DAnalysisAction(locReaction,
"Cut_BDTSignalCombo", false, locActionUniqueString),
231 dMinThrownMatchFOM(locMinThrownMatchFOM), dExclusiveMatchFlag(locExclusiveMatchFlag),
232 dIncludeDecayingToReactionFlag(locIncludeDecayingToReactionFlag), dCutAction_TrueBeamParticle(NULL){}
234 void Initialize(JEventLoop* locEventLoop);
239 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
253 DAnalysisAction(locReaction,
"Cut_TruePID", false, locActionUniqueString),
254 dTruePID(locTruePID), dInitialPID(locInitialPID), dMinThrownMatchFOM(locMinThrownMatchFOM){}
259 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
270 DAnalysisAction(locReaction,
"Cut_AllTruePID", false, locActionUniqueString),
271 dMinThrownMatchFOM(locMinThrownMatchFOM){}
276 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
285 DAnalysisAction(locReaction,
"Cut_ProductionVertexZ", false, locActionUniqueString), dMinVertexZ(locMinVertexZ), dMaxVertexZ(locMaxVertexZ){}
287 string Get_ActionName(
void)
const;
291 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
301 DAnalysisAction(locReaction,
"Cut_AllVertexZ", false, locActionUniqueString), dMinVertexZ(locMinVertexZ), dMaxVertexZ(locMaxVertexZ){}
303 string Get_ActionName(
void)
const;
307 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
317 DAnalysisAction(locReaction,
"Cut_MaxTrackDOCA", false, locActionUniqueString), dInitialPID(locInitialPID), dMaxTrackDOCA(locMaxTrackDOCA){}
319 string Get_ActionName(
void)
const;
320 void Initialize(JEventLoop* locEventLoop);
323 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
334 DAnalysisAction(locReaction,
"Cut_KinFitFOM", true, locActionUniqueString), dMinimumConfidenceLevel(locMinimumConfidenceLevel){}
336 string Get_ActionName(
void)
const;
340 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
349 DCutAction_MissingMass(
const DReaction* locReaction,
bool locUseKinFitResultsFlag,
double locMinimumMissingMass,
double locMaximumMissingMass,
string locActionUniqueString =
"") :
350 DAnalysisAction(locReaction,
"Cut_MissingMass", locUseKinFitResultsFlag, locActionUniqueString),
351 dMinimumMissingMass(locMinimumMissingMass), dMaximumMissingMass(locMaximumMissingMass), dMissingMassOffOfStepIndex(0){}
366 DCutAction_MissingMass(
const DReaction* locReaction,
int locMissingMassOffOfStepIndex, deque<Particle_t> locMissingMassOffOfPIDs,
bool locUseKinFitResultsFlag,
double locMinimumMissingMass,
double locMaximumMissingMass,
string locActionUniqueString =
"") :
367 DAnalysisAction(locReaction,
"Cut_MissingMass", locUseKinFitResultsFlag, locActionUniqueString),
368 dMinimumMissingMass(locMinimumMissingMass), dMaximumMissingMass(locMaximumMissingMass), dMissingMassOffOfStepIndex(locMissingMassOffOfStepIndex),
369 dMissingMassOffOfPIDs(locMissingMassOffOfPIDs) {}
371 DCutAction_MissingMass(
const DReaction* locReaction,
int locMissingMassOffOfStepIndex,
Particle_t locMissingMassOffOfPID,
bool locUseKinFitResultsFlag,
double locMinimumMissingMass,
double locMaximumMissingMass,
string locActionUniqueString =
"") :
372 DAnalysisAction(locReaction,
"Cut_MissingMass", locUseKinFitResultsFlag, locActionUniqueString),
373 dMinimumMissingMass(locMinimumMissingMass), dMaximumMissingMass(locMaximumMissingMass), dMissingMassOffOfStepIndex(locMissingMassOffOfStepIndex),
374 dMissingMassOffOfPIDs(deque<
Particle_t>(1, locMissingMassOffOfPID)) {}
376 string Get_ActionName(
void)
const;
377 void Initialize(JEventLoop* locEventLoop);
380 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
394 DAnalysisAction(locReaction,
"Cut_MissingMassSquared", locUseKinFitResultsFlag, locActionUniqueString),
395 dMinimumMissingMassSq(locMinimumMissingMassSq), dMaximumMissingMassSq(locMaximumMissingMassSq), dMissingMassOffOfStepIndex(0){}
410 DCutAction_MissingMassSquared(
const DReaction* locReaction,
int locMissingMassOffOfStepIndex, deque<Particle_t> locMissingMassOffOfPIDs,
bool locUseKinFitResultsFlag,
double locMinimumMissingMassSq,
double locMaximumMissingMassSq,
string locActionUniqueString =
"") :
411 DAnalysisAction(locReaction,
"Cut_MissingMassSquared", locUseKinFitResultsFlag, locActionUniqueString),
412 dMinimumMissingMassSq(locMinimumMissingMassSq), dMaximumMissingMassSq(locMaximumMissingMassSq), dMissingMassOffOfStepIndex(locMissingMassOffOfStepIndex),
413 dMissingMassOffOfPIDs(locMissingMassOffOfPIDs) {}
415 DCutAction_MissingMassSquared(
const DReaction* locReaction,
int locMissingMassOffOfStepIndex,
Particle_t locMissingMassOffOfPID,
bool locUseKinFitResultsFlag,
double locMinimumMissingMassSq,
double locMaximumMissingMassSq,
string locActionUniqueString =
"") :
416 DAnalysisAction(locReaction,
"Cut_MissingMassSquared", locUseKinFitResultsFlag, locActionUniqueString),
417 dMinimumMissingMassSq(locMinimumMissingMassSq), dMaximumMissingMassSq(locMaximumMissingMassSq), dMissingMassOffOfStepIndex(locMissingMassOffOfStepIndex),
418 dMissingMassOffOfPIDs(deque<
Particle_t>(1, locMissingMassOffOfPID)) {}
420 string Get_ActionName(
void)
const;
421 void Initialize(JEventLoop* locEventLoop);
424 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
438 DAnalysisAction(locReaction,
"Cut_InvariantMass", locUseKinFitResultsFlag, locActionUniqueString),
439 dInitialPID(locInitialPID), dStepIndex(-1), dToIncludePIDs(deque<
Particle_t>()), dMinMass(locMinMass), dMaxMass(locMaxMass){}
443 DCutAction_InvariantMass(
const DReaction* locReaction,
size_t locStepIndex, deque<Particle_t> locToIncludePIDs,
bool locUseKinFitResultsFlag,
double locMinMass,
double locMaxMass,
string locActionUniqueString =
"") :
444 DAnalysisAction(locReaction,
"Cut_InvariantMass", locUseKinFitResultsFlag, locActionUniqueString),
445 dInitialPID(
Unknown), dStepIndex(locStepIndex), dToIncludePIDs(locToIncludePIDs), dMinMass(locMinMass), dMaxMass(locMaxMass){}
447 string Get_ActionName(
void)
const;
448 void Initialize(JEventLoop* locEventLoop);
451 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
466 DAnalysisAction(locReaction,
"Cut_GoodEventRFBunch", false, locActionUniqueString),
467 dCutIfBadRFBunchFlag(locCutIfBadRFBunchFlag){}
469 string Get_ActionName(
void)
const;
473 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
483 DAnalysisAction(locReaction,
"Cut_TransverseMomentum", false, locActionUniqueString),
484 dMaxTransverseMomentum(locMaxTransverseMomentum){}
486 string Get_ActionName(
void)
const;
490 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
507 DCutAction_TrackHitPattern(
const DReaction* locReaction,
unsigned int locMinHitRingsPerCDCSuperlayer = 2,
unsigned int locMinHitPlanesPerFDCPackage = 4,
string locActionUniqueString =
"") :
508 DAnalysisAction(locReaction,
"Cut_TrackHitPattern", false, locActionUniqueString),
509 dMinHitRingsPerCDCSuperlayer(locMinHitRingsPerCDCSuperlayer), dMinHitPlanesPerFDCPackage(locMinHitPlanesPerFDCPackage){}
511 string Get_ActionName(
void)
const;
517 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
528 DAnalysisAction(locReaction,
"Cut_dEdx", false, locActionUniqueString){}
530 void Initialize(JEventLoop* locEventLoop);
536 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
543 DCutAction_BeamEnergy(
const DReaction* locReaction,
bool locUseKinFitResultsFlag,
double locMinBeamEnergy,
double locMaxBeamEnergy,
string locActionUniqueString =
"") :
544 DAnalysisAction(locReaction,
"Cut_BeamEnergy", locUseKinFitResultsFlag, locActionUniqueString),
545 dMinBeamEnergy(locMinBeamEnergy), dMaxBeamEnergy(locMaxBeamEnergy){}
548 string Get_ActionName(
void)
const;
552 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
567 DAnalysisAction(locReaction,
"Cut_TrackFCALShowerEOverP", locUseKinFitResultsFlag, locActionUniqueString),
568 dShowerEOverPCut(locShowerEOverPCut){}
571 string Get_ActionName(
void)
const;
575 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
589 DAnalysisAction(locReaction,
"Cut_TrackShowerEOverP", locUseKinFitResultsFlag, locActionUniqueString),
590 dDetector(locDetector), dPID(locPID), dShowerEOverPCut(locShowerEOverPCut) {}
593 string Get_ActionName(
void)
const;
597 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
612 DAnalysisAction(locReaction,
"Cut_PIDDeltaT", locUseKinFitResultsFlag, locActionUniqueString),
613 dDeltaTCut(locDeltaTCut), dPID(locPID), dSystem(locSystem){}
616 string Get_ActionName(
void)
const;
620 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
636 DAnalysisAction(locReaction,
"Cut_PIDTimingBeta", false, locActionUniqueString),
637 dMinBeta(locMinBeta), dMaxBeta(locMaxBeta), dPID(locPID), dSystem(locSystem){}
640 string Get_ActionName(
void)
const;
644 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
659 DAnalysisAction(locReaction,
"Cut_NoPIDHit", false, locActionUniqueString),
663 string Get_ActionName(
void)
const;
667 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
678 DAnalysisAction(locReaction,
"Cut_OneVertexKinFit", false, locActionUniqueString),
679 dMinKinFitCL(locMinKinFitCL), dMinVertexZ(locMinVertexZ), dMaxVertexZ(locMaxVertexZ), dKinFitter(NULL), dKinFitUtils(NULL) {}
681 void Initialize(JEventLoop* locEventLoop);
687 bool Perform_Action(JEventLoop* locEventLoop,
const DParticleCombo* locParticleCombo);
702 #endif // _DCutActions_
DCutAction_AllTruePID(const DReaction *locReaction, double locMinThrownMatchFOM, string locActionUniqueString="")
void Initialize(JEventLoop *locEventLoop)
DCutAction_TrueBeamParticle * dCutAction_TrueBeamParticle
void Initialize(JEventLoop *locEventLoop)
unsigned int dMinHitPlanesPerFDCPackage
double dMaximumMissingMassSq
void Initialize(JEventLoop *locEventLoop)
bool dCutIfBadRFBunchFlag
DCutAction_PIDFOM(const DReaction *locReaction, Particle_t locStepPID, Particle_t locParticleID, double locMinimumConfidenceLevel, bool locCutNDFZeroFlag=false, string locActionUniqueString="")
void Initialize(JEventLoop *locEventLoop)
DCutAction_MinTrackHits(const DReaction *locReaction, unsigned int locMinTrackHits, string locActionUniqueString="")
DCutAction_InvariantMass(const DReaction *locReaction, size_t locStepIndex, deque< Particle_t > locToIncludePIDs, bool locUseKinFitResultsFlag, double locMinMass, double locMaxMass, string locActionUniqueString="")
double dMinThrownMatchFOM
const DAnalysisUtilities * dAnalysisUtilities
void Initialize(JEventLoop *locEventLoop)
DCutAction_BeamEnergy(const DReaction *locReaction, bool locUseKinFitResultsFlag, double locMinBeamEnergy, double locMaxBeamEnergy, string locActionUniqueString="")
DCutAction_TrackFCALShowerEOverP(const DReaction *locReaction, bool locUseKinFitResultsFlag, double locShowerEOverPCut, string locActionUniqueString="")
double dMinimumMissingMass
DCutAction_PIDDeltaT(const DReaction *locReaction, bool locUseKinFitResultsFlag, double locDeltaTCut, Particle_t locPID=Unknown, DetectorSystem_t locSystem=SYS_NULL, string locActionUniqueString="")
deque< Particle_t > dMissingMassOffOfPIDs
const DAnalysisUtilities * dAnalysisUtilities
deque< Particle_t > dToIncludePIDs
void Initialize(JEventLoop *locEventLoop)
map< Particle_t, pair< TF1 *, TF1 * > > dCutMap
double dMinThrownMatchFOM
DCutAction_dEdx(const DReaction *locReaction, string locActionUniqueString="")
const DAnalysisUtilities * dAnalysisUtilities
DKinFitUtils_GlueX * dKinFitUtils
double dMinimumConfidenceLevel
void Initialize(JEventLoop *locEventLoop)
double dMinimumConfidenceLevel
void Initialize(JEventLoop *locEventLoop)
double dMaxTransverseMomentum
DCutAction_TrueBeamParticle * dCutAction_TrueBeamParticle
double dMinThrownMatchFOM
DCutAction_MissingMass(const DReaction *locReaction, int locMissingMassOffOfStepIndex, Particle_t locMissingMassOffOfPID, bool locUseKinFitResultsFlag, double locMinimumMissingMass, double locMaximumMissingMass, string locActionUniqueString="")
DCutAction_TransverseMomentum(const DReaction *locReaction, double locMaxTransverseMomentum, string locActionUniqueString="")
bool dIncludeDecayingToReactionFlag
DCutAction_MissingMassSquared(const DReaction *locReaction, int locMissingMassOffOfStepIndex, deque< Particle_t > locMissingMassOffOfPIDs, bool locUseKinFitResultsFlag, double locMinimumMissingMassSq, double locMaximumMissingMassSq, string locActionUniqueString="")
double dMinimumConfidenceLevel
DCutAction_GoodEventRFBunch(const DReaction *locReaction, bool locCutIfBadRFBunchFlag, string locActionUniqueString="")
void Initialize(JEventLoop *locEventLoop)
double dMinimumConfidenceLevel
void Initialize(JEventLoop *locEventLoop)
void Initialize(JEventLoop *locEventLoop)
DCutAction_MissingMass(const DReaction *locReaction, int locMissingMassOffOfStepIndex, deque< Particle_t > locMissingMassOffOfPIDs, bool locUseKinFitResultsFlag, double locMinimumMissingMass, double locMaximumMissingMass, string locActionUniqueString="")
DCutAction_MaxTrackDOCA(const DReaction *locReaction, Particle_t locInitialPID, double locMaxTrackDOCA, string locActionUniqueString="")
const DAnalysisUtilities * dAnalysisUtilities
DCutAction_PIDTimingBeta(const DReaction *locReaction, double locMinBeta, double locMaxBeta, Particle_t locPID=Unknown, DetectorSystem_t locSystem=SYS_NULL, string locActionUniqueString="")
deque< Particle_t > dMissingMassOffOfPIDs
DCutAction_CombinedPIDFOM(const DReaction *locReaction, double locMinimumConfidenceLevel, bool locCutNDFZeroFlag=false, string locActionUniqueString="")
void Initialize(JEventLoop *locEventLoop)
DCutAction_MissingMass(const DReaction *locReaction, bool locUseKinFitResultsFlag, double locMinimumMissingMass, double locMaximumMissingMass, string locActionUniqueString="")
void Initialize(JEventLoop *locEventLoop)
DCutAction_ThrownTopology(const DReaction *locReaction, bool locExclusiveMatchFlag, string locActionUniqueString="")
DCutAction_ProductionVertexZ(const DReaction *locReaction, double locMinVertexZ, double locMaxVertexZ, string locActionUniqueString="")
DCutAction_InvariantMass(const DReaction *locReaction, Particle_t locInitialPID, bool locUseKinFitResultsFlag, double locMinMass, double locMaxMass, string locActionUniqueString="")
DCutAction_TrackHitPattern(const DReaction *locReaction, unsigned int locMinHitRingsPerCDCSuperlayer=2, unsigned int locMinHitPlanesPerFDCPackage=4, string locActionUniqueString="")
void Initialize(JEventLoop *locEventLoop)
int dMissingMassOffOfStepIndex
DCutAction_EachPIDFOM(const DReaction *locReaction, double locMinimumConfidenceLevel, bool locCutNDFZeroFlag=false, string locActionUniqueString="")
DCutAction_MissingMassSquared(const DReaction *locReaction, bool locUseKinFitResultsFlag, double locMinimumMissingMassSq, double locMaximumMissingMassSq, string locActionUniqueString="")
DCutAction_TrueBeamParticle(const DReaction *locReaction, string locActionUniqueString="")
double dMinimumMissingMassSq
double dMaximumMissingMass
void Initialize(JEventLoop *locEventLoop)
DCutAction_NoPIDHit(const DReaction *locReaction, Particle_t locPID=Unknown, string locActionUniqueString="")
unsigned int dMinHitRingsPerCDCSuperlayer
DCutAction_AllVertexZ(const DReaction *locReaction, double locMinVertexZ, double locMaxVertexZ, string locActionUniqueString="")
DCutAction_TrueCombo(const DReaction *locReaction, double locMinThrownMatchFOM, bool locExclusiveMatchFlag, string locActionUniqueString="")
DCutAction_TruePID(const DReaction *locReaction, Particle_t locTruePID, Particle_t locInitialPID, double locMinThrownMatchFOM, string locActionUniqueString="")
double dMinThrownMatchFOM
double dMinimumConfidenceLevel
DCutAction_KinFitFOM(const DReaction *locReaction, double locMinimumConfidenceLevel, string locActionUniqueString="")
DCutAction_ThrownTopology * dCutAction_ThrownTopology
void Initialize(JEventLoop *locEventLoop)
DCutAction_MissingMassSquared(const DReaction *locReaction, int locMissingMassOffOfStepIndex, Particle_t locMissingMassOffOfPID, bool locUseKinFitResultsFlag, double locMinimumMissingMassSq, double locMaximumMissingMassSq, string locActionUniqueString="")
void Initialize(JEventLoop *locEventLoop)
DCutAction_TrackShowerEOverP(const DReaction *locReaction, bool locUseKinFitResultsFlag, DetectorSystem_t locDetector, Particle_t locPID, double locShowerEOverPCut, string locActionUniqueString="")
DCutAction_BDTSignalCombo(const DReaction *locReaction, double locMinThrownMatchFOM, bool locExclusiveMatchFlag, bool locIncludeDecayingToReactionFlag, string locActionUniqueString="")
TH1I * dHist_ConfidenceLevel
unsigned int dMinTrackHits
void Initialize(JEventLoop *locEventLoop)
const DParticleID * dParticleID
DCutAction_OneVertexKinFit(const DReaction *locReaction, double locMinKinFitCL=-1.0, double locMinVertexZ=1.0, double locMaxVertexZ=0.0, string locActionUniqueString="")
DCutAction_AllTracksHaveDetectorMatch(const DReaction *locReaction, string locActionUniqueString="")
int dMissingMassOffOfStepIndex
DetectorSystem_t dDetector
DCutAction_CombinedTrackingFOM(const DReaction *locReaction, double locMinimumConfidenceLevel, string locActionUniqueString="")
void Initialize(JEventLoop *locEventLoop)
void Initialize(JEventLoop *locEventLoop)