Difference between revisions of "Mattione GlueX Analysis Factories"

From GlueXWiki
Jump to: navigation, search
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 -> phi(2175), (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); //phi(2175)
+
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:
 
}
 
}
 
{
 
{
//phi(2175) -> pi+, pi-, phi
+
//Y(2175) -> pi+, pi-, phi
 
DReactionStep locReactionStep;
 
DReactionStep locReactionStep;
locReactionStep.dInitialParticleID = Unknown; //phi(2175)
+
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);
}