Difference between revisions of "Mattione GlueX Analysis Factories"
From GlueXWiki
Line 1: | Line 1: | ||
+ | == DReaction Factory == | ||
+ | * DReaction.h located in DANA libraries, DReaction.h_factory located in user plugin (along with a factory generator for it). | ||
+ | * Below shows how to set up DReaction for a Y(2175) analysis. | ||
<pre> | <pre> | ||
jerror_t DReaction_factory::init(void) | jerror_t DReaction_factory::init(void) | ||
Line 5: | Line 8: | ||
DReaction* locReaction = new DReaction(); | DReaction* locReaction = new DReaction(); | ||
{ | { | ||
− | //g, p -> | + | //g, p -> Y(2175), (p) |
DReactionStep locReactionStep; | DReactionStep locReactionStep; | ||
locReactionStep.dInitialParticleID = Gamma; | locReactionStep.dInitialParticleID = Gamma; | ||
locReactionStep.dTargetParticleID = Proton; | locReactionStep.dTargetParticleID = Proton; | ||
− | locReactionStep.dFinalParticleIDs.push_back(Unknown); // | + | locReactionStep.dFinalParticleIDs.push_back(Unknown); //Y(2175) |
locReactionStep.dFinalParticleIDs.push_back(Proton); | locReactionStep.dFinalParticleIDs.push_back(Proton); | ||
locReactionStep.dMissingParticleIndex = 1; //proton missing | locReactionStep.dMissingParticleIndex = 1; //proton missing | ||
Line 15: | Line 18: | ||
} | } | ||
{ | { | ||
− | // | + | //Y(2175) -> pi+, pi-, phi |
DReactionStep locReactionStep; | DReactionStep locReactionStep; | ||
− | locReactionStep.dInitialParticleID = Unknown; // | + | locReactionStep.dInitialParticleID = Unknown; //Y(2175) |
locReactionStep.dTargetParticleID = Unknown; | locReactionStep.dTargetParticleID = Unknown; | ||
locReactionStep.dFinalParticleIDs.push_back(PiPlus); | locReactionStep.dFinalParticleIDs.push_back(PiPlus); |
Revision as of 00:27, 16 July 2012
DReaction Factory
- DReaction.h located in DANA libraries, DReaction.h_factory located in user plugin (along with a factory generator for it).
- Below shows how to set up DReaction for a Y(2175) analysis.
jerror_t DReaction_factory::init(void) { // Make as many DReaction objects as desired DReaction* locReaction = new DReaction(); { //g, p -> Y(2175), (p) DReactionStep locReactionStep; locReactionStep.dInitialParticleID = Gamma; locReactionStep.dTargetParticleID = Proton; locReactionStep.dFinalParticleIDs.push_back(Unknown); //Y(2175) locReactionStep.dFinalParticleIDs.push_back(Proton); locReactionStep.dMissingParticleIndex = 1; //proton missing locReaction->dReactionSteps.push_back(locReactionStep); } { //Y(2175) -> pi+, pi-, phi DReactionStep locReactionStep; locReactionStep.dInitialParticleID = Unknown; //Y(2175) locReactionStep.dTargetParticleID = Unknown; locReactionStep.dFinalParticleIDs.push_back(PiPlus); locReactionStep.dFinalParticleIDs.push_back(PiMinus); locReactionStep.dFinalParticleIDs.push_back(phiMeson); locReactionStep.dMissingParticleIndex = -1; //none missing locReaction->dReactionSteps.push_back(locReactionStep); } { //phi -> K+, K- DReactionStep locReactionStep; locReactionStep.dInitialParticleID = phiMeson; locReactionStep.dTargetParticleID = Unknown; locReactionStep.dFinalParticleIDs.push_back(KPlus); locReactionStep.dFinalParticleIDs.push_back(KMinus); locReactionStep.dMissingParticleIndex = -1; //none missing locReaction->dReactionSteps.push_back(locReactionStep); } _data.push_back(locReaction); }