StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StKinkI.hh
1 
11 #ifndef STAR_StKinkI
12 #define STAR_StKinkI
13 #include "TROOT.h"
14 #include "TMath.h"
15 
16 class StKinkI {
17 public:
18  virtual ~StKinkI() {}
19 
20 // ************************************************************************
22 // ************************************************************************
23 
25  virtual Int_t geantIdParent() const=0;
26  virtual Int_t geantIdDaughter() const=0;
27  virtual Float_t parentMomentumX() const=0; // Momenta at the decay vertex
28  virtual Float_t parentMomentumY() const=0;
29  virtual Float_t parentMomentumZ() const=0;
30  virtual Float_t parentPrimMomentumX() const=0; // Momenta at the origin
31  virtual Float_t parentPrimMomentumY() const=0;
32  virtual Float_t parentPrimMomentumZ() const=0;
33  virtual Float_t parentPrimPsi() const;
34  virtual Float_t daughterMomentumX() const=0;
35  virtual Float_t daughterMomentumY() const=0;
36  virtual Float_t daughterMomentumZ() const=0;
37  virtual Float_t positionX() const=0;
38  virtual Float_t positionY() const=0;
39  virtual Float_t positionZ() const=0;
40  virtual Int_t parentCharge() const=0;
41  virtual Int_t daughterCharge() const=0;
43 
44 // ************************************************************************
46 // ************************************************************************
47 
49  virtual Int_t decayMode() const {return 0;}
52  virtual Int_t simTpcHits() const {return 0;}
53  virtual Int_t commonTpcHits() const {return 0;}
55 
56 // ************************************************************************
58 // ************************************************************************
59 
61  virtual Float_t hitDistanceParentDaughter() const {return 0;}
62  virtual Float_t hitDistanceParentVertex() const {return 0;}
63  virtual Float_t mindE() const {return 0;}
64  virtual Float_t decayAngle() const {return 0;}
65  virtual Float_t parentMomentum() const {return 0;}
66  virtual Float_t daughterMomentum() const {return 0;}
67  virtual Float_t decayLength() const {return 0;}
68  virtual Float_t transverseMomentum() const {return 0;}
69  virtual Float_t transverseMassKaon() const {return 0;}
70  virtual Float_t transverseMassPion() const {return 0;}
71  virtual Float_t rapidityKaon() const {return 0;}
72  virtual Float_t rapidityPion() const {return 0;}
73 
75  virtual Float_t dedxParent() const {return 0;}
77  virtual Float_t dedxDaughter() const {return 0;}
79  virtual Float_t errDedxParent() const {return 0;}
81  virtual Float_t errDedxDaughter() const {return 0;}
83  virtual UShort_t numDedxParent() const {return 0;}
85  virtual UShort_t numDedxDaughter() const {return 0;}
87  virtual Float_t lenDedxParent() const {return 0;}
89  virtual Float_t lenDedxDaughter() const {return 0;}
91  virtual Int_t keyParent() const {return 0;}
93  virtual Int_t keyDaughter() const {return 0;}
95 
97 
98  virtual Float_t dcaParentDaughter() const {return 0;}
99  virtual Float_t dcaDaughterPrimaryVertex() const {return -1;}
100  virtual Float_t dcaParentPrimaryVertex() const {return -1;}
102 
104 
105  virtual Float_t chi2Kink() const {return 0;}
108  virtual Float_t clKink() const {return 0;}
110  virtual Float_t chi2Parent() const {return 0;}
112  virtual Float_t clParent() const {return 0;}
114  virtual Float_t chi2Daughter() const {return 0;}
116  virtual Float_t clDaughter() const {return 0;}
118  virtual void setParentBad() {}
120  virtual void setDaughterBad() {}
122  virtual Bool_t bad() const {return (chi2Parent()<0 || chi2Daughter()<0);}
124 };
125 
126 inline Float_t StKinkI::parentPrimPsi() const
127  { return TMath::ATan2(parentPrimMomentumY(),
128  parentPrimMomentumX()); }
129 
130 #endif
131 
132 
133 /***********************************************************************
134  * $Id: StKinkI.hh,v 3.7 2011/05/27 18:25:32 genevb Exp $
135  * $Log: StKinkI.hh,v $
136  * Revision 3.7 2011/05/27 18:25:32 genevb
137  * Propagate StTrack::key => Int_t to other codes
138  *
139  * Revision 3.6 2008/07/10 16:16:54 genevb
140  * Allow for marking of bad tracks -> bad secondary vertices
141  *
142  * Revision 3.5 2004/02/03 03:49:27 genevb
143  * Added keys (IDs) for Kink parent and daughter
144  *
145  * Revision 3.4 2003/05/30 21:20:18 genevb
146  * doxygen savvy, encoding of FTPC mults, change virtual funcs
147  *
148  * Revision 3.3 2002/04/30 16:02:47 genevb
149  * Common muDst, improved MC code, better kinks, StrangeCuts now a branch
150  *
151  * Revision 3.2 2001/11/05 23:41:06 genevb
152  * Add more dEdx, B field info, careful of changes to TTree unrolling
153  *
154  * Revision 3.1 2001/05/04 20:15:13 genevb
155  * Common interfaces and reorganization of components, add MC event info
156  *
157  ***********************************************************************/
virtual Int_t decayMode() const
Definition: StKinkI.hh:51
virtual UShort_t numDedxParent() const
Number of dE/dX points for parent.
Definition: StKinkI.hh:83
virtual Int_t keyParent() const
Track id of parent.
Definition: StKinkI.hh:91
virtual void setDaughterBad()
Set the daughter as bad.
Definition: StKinkI.hh:120
virtual Int_t keyDaughter() const
Track id of daughter.
Definition: StKinkI.hh:93
virtual Float_t errDedxDaughter() const
Error on mean of dE/dX of daughter.
Definition: StKinkI.hh:81
virtual UShort_t numDedxDaughter() const
Number of dE/dX points for daughter.
Definition: StKinkI.hh:85
virtual Float_t lenDedxDaughter() const
Length of dE/dX track of daughter.
Definition: StKinkI.hh:89
virtual Float_t chi2Parent() const
Chi square of parent.
Definition: StKinkI.hh:110
virtual void setParentBad()
Set the parent as bad.
Definition: StKinkI.hh:118
virtual Float_t chi2Daughter() const
Chi square of daughter.
Definition: StKinkI.hh:114
virtual Float_t chi2Kink() const
Chi square of Kink.
Definition: StKinkI.hh:106
virtual Bool_t bad() const
Test whether either daughter is bad.
Definition: StKinkI.hh:122
virtual Float_t dedxParent() const
dE/dX of parent
Definition: StKinkI.hh:75
virtual Float_t lenDedxParent() const
Length of dE/dX track of parent.
Definition: StKinkI.hh:87
virtual Float_t dedxDaughter() const
dE/dX of daughter
Definition: StKinkI.hh:77
virtual Float_t clParent() const
Confidence level of parent.
Definition: StKinkI.hh:112
virtual Float_t clDaughter() const
Confidence level of daughter.
Definition: StKinkI.hh:116
virtual Float_t errDedxParent() const
Error on mean of dE/dX of parent.
Definition: StKinkI.hh:79
virtual Float_t clKink() const
Confidence level of Kink.
Definition: StKinkI.hh:108