Difference between revisions of "Analysis TTreeFormat"

From GlueXWiki
Jump to: navigation, search
(Created page with "<syntaxhighlight> class DTreeParticle : public TObject { public: //PID Particle_t dPID; //KINEMATICS: If kinematic fit was performed, this is the kinematic fit results. ...")
 
Line 2: Line 2:
 
class DTreeParticle : public TObject
 
class DTreeParticle : public TObject
 
{
 
{
public:
+
  public:
  
//PID
+
    //PID
Particle_t dPID;
+
    Particle_t dPID;
  
//KINEMATICS: If kinematic fit was performed, this is the kinematic fit results.  Else is measured results.  
+
    //KINEMATICS: If kinematic fit was performed, this is the kinematic fit results.  Else is measured results.  
TVector3 dPosition_Start; //the position where the particle is produced
+
    TVector3 dPosition_Start; //the position where the particle is produced
double dTime_Start; //time of the track at dPosition_Start: if value is not kinfit, is the measured value in TOF/BCAL/FCAL projected back to dPosition_Start
+
    double dTime_Start; //time of the track at dPosition_Start: if value is not kinfit, is the measured value in TOF/BCAL/FCAL projected back to dPosition_Start
TVector3 dMomentum_Start; //momentum of the track at dPosition_Start
+
    TVector3 dMomentum_Start; //momentum of the track at dPosition_Start
  
TVector3 dPosition_End; //detected particles: the reconstructed position of the BCAL/FCAL/TOF hit; decaying particles: the point where it decays
+
    TVector3 dPosition_End; //detected particles: the reconstructed position of the BCAL/FCAL/TOF hit; decaying particles: the point where it decays
double dTime_End; //time of the track at dPosition_End
+
    double dTime_End; //time of the track at dPosition_End
TVector3 dMomentum_End; //momentum of the track at dPosition_End
+
    TVector3 dMomentum_End; //momentum of the track at dPosition_End
  
double dPathLength; //from dPosition_Start to dPosition_End
+
    double dPathLength; //from dPosition_Start to dPosition_End
TMatrixDSym dCovarianceMatrix; //at dPosition_Start // Order is (px, py, pz, x, y, z, t)
+
    TMatrixDSym dCovarianceMatrix; //at dPosition_Start // Order is (px, py, pz, x, y, z, t)
  
//PID QUALITY
+
    //PID QUALITY
unsigned int dNDF_Tracking; //NaN if neutral or decaying
+
    unsigned int dNDF_Tracking; //NaN if neutral or decaying
double dChiSq_Tracking; //NaN if neutral or decaying
+
    double dChiSq_Tracking; //NaN if neutral or decaying
unsigned int dNDF_Timing;
+
    unsigned int dNDF_Timing;
double dChiSq_Timing;
+
    double dChiSq_Timing;
unsigned int dNDF_DCdEdx; //NaN if neutral or decaying
+
    unsigned int dNDF_DCdEdx; //NaN if neutral or decaying
double dChiSq_DCdEdx; //NaN if neutral or decaying
+
    double dChiSq_DCdEdx; //NaN if neutral or decaying
  
//DEPOSITED ENERGY
+
    //DEPOSITED ENERGY
double ddEdx_FDC;
+
    double ddEdx_FDC;
double ddEdx_CDC;
+
    double ddEdx_CDC;
double dEnergy_BCAL;
+
    double dEnergy_BCAL;
double dEnergy_FCAL;
+
    double dEnergy_FCAL;
double dEnergy_TOF;
+
    double dEnergy_TOF;
  
//DTREESTEP POINTERS
+
    //DTREESTEP POINTERS
DTreeStep* dProductionStep; //the step object in which this DTreeParticle is produced (is a final-state particle)
+
    DTreeStep* dProductionStep; //the step object in which this DTreeParticle is produced (is a final-state particle)
DTreeStep* dDecayStep; //the step object in which this DTreeParticle decays (is an initial-state particle) (will be null if not a decaying particle!)
+
    DTreeStep* dDecayStep; //the step object in which this DTreeParticle decays (is an initial-state particle) (will be null if not a decaying particle!)
  
// CUSTOM VARIABLES:
+
    // CUSTOM VARIABLES:
map<string, double> dCustomVariables; //key is unique string, double is value
+
    map<string, double> dCustomVariables; //key is unique string, double is value
map<string, const TObject*> dCustomObjects; //key is unique string, TObject* is object
+
    map<string, const TObject*> dCustomObjects; //key is unique string, TObject* is object
  
//METHODS (INCOMPLETE)
+
    //METHODS (INCOMPLETE)
bool Check_IsDecayingParticle(void) const{return false;}
+
    bool Check_IsDecayingParticle(void) const{return false;}
  
ClassDef(DTreeParticle, 1)
+
  ClassDef(DTreeParticle, 1)
 
};
 
};
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 11:09, 12 April 2013

class DTreeParticle : public TObject
{
  public:
 
    //PID
    Particle_t dPID;
 
    //KINEMATICS: If kinematic fit was performed, this is the kinematic fit results.  Else is measured results. 
    TVector3 dPosition_Start; //the position where the particle is produced
    double dTime_Start; //time of the track at dPosition_Start: if value is not kinfit, is the measured value in TOF/BCAL/FCAL projected back to dPosition_Start
    TVector3 dMomentum_Start; //momentum of the track at dPosition_Start
 
    TVector3 dPosition_End; //detected particles: the reconstructed position of the BCAL/FCAL/TOF hit; decaying particles: the point where it decays
    double dTime_End; //time of the track at dPosition_End
    TVector3 dMomentum_End; //momentum of the track at dPosition_End
 
    double dPathLength; //from dPosition_Start to dPosition_End
    TMatrixDSym dCovarianceMatrix; //at dPosition_Start // Order is (px, py, pz, x, y, z, t)
 
    //PID QUALITY
    unsigned int dNDF_Tracking; //NaN if neutral or decaying
    double dChiSq_Tracking; //NaN if neutral or decaying
    unsigned int dNDF_Timing;
    double dChiSq_Timing;
    unsigned int dNDF_DCdEdx; //NaN if neutral or decaying
    double dChiSq_DCdEdx; //NaN if neutral or decaying
 
    //DEPOSITED ENERGY
    double ddEdx_FDC;
    double ddEdx_CDC;
    double dEnergy_BCAL;
    double dEnergy_FCAL;
    double dEnergy_TOF;
 
    //DTREESTEP POINTERS
    DTreeStep* dProductionStep; //the step object in which this DTreeParticle is produced (is a final-state particle)
    DTreeStep* dDecayStep; //the step object in which this DTreeParticle decays (is an initial-state particle) (will be null if not a decaying particle!)
 
    // CUSTOM VARIABLES:
    map<string, double> dCustomVariables; //key is unique string, double is value
    map<string, const TObject*> dCustomObjects; //key is unique string, TObject* is object
 
    //METHODS (INCOMPLETE)
    bool Check_IsDecayingParticle(void) const{return false;}
 
  ClassDef(DTreeParticle, 1)
};