1 ///////////////////////////////////////////////////////////////////////////
3 // AliFemtoKink: main class holding all the necessary information //
4 // about a kink (before the identification) that is required during //
5 // femtoscopic analysis. This class is filled with information from the //
6 // input stream by the reader. A particle has a link back to the Kink //
7 // it was created from, so we do not copy the information. //
9 ///////////////////////////////////////////////////////////////////////////
10 /***********************************************************************
14 * Author: Mike Lisa, Ohio State, 23May2001
16 ***********************************************************************
18 * Description: Kink class with information gotten from the StKinkVertex
19 * of Wenshen Deng and Spiros Margetis
21 ***********************************************************************
24 * Revision 1.4 2007/05/03 09:42:29 akisiel
25 * Fixing Effective C++ warnings
27 * Revision 1.3 2007/04/27 07:24:34 akisiel
28 * Make revisions needed for compilation from the main AliRoot tree
30 * Revision 1.1.1.1 2007/04/25 15:38:41 panos
31 * Importing the HBT code dir
33 * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki
34 * First version on CVS
36 * Revision 1.4 2001/11/14 21:07:21 lisa
37 * Fixed several small things (mostly discarded const) that caused fatal errors with gcc2.95.3
39 * Revision 1.3 2001/09/05 21:55:23 laue
42 * Revision 1.2 2001/06/21 19:15:46 laue
44 * CTH.h : new constructor added
45 * AliFemtoEvent, AliFemtoKink, AliFemtoTrack : constructors from the persistent
46 * (TTree) classes added
47 * AliFemtoLikeSignAnalysis : minor changes, for debugging
48 * AliFemtoTypes: split into different files
49 * Added files: for the new TTree muDst's
50 * StExceptions.cxx StExceptions.h AliFemtoEnumeration.h
51 * AliFemtoHelix.h AliFemtoHisto.h AliFemtoString.h AliFemtoTFile.h
52 * AliFemtoTTreeEvent.cxx AliFemtoTTreeEvent.h AliFemtoTTreeKink.cxx
53 * AliFemtoTTreeKink.h AliFemtoTTreeTrack.cxx AliFemtoTTreeTrack.h
54 * AliFemtoTTreeV0.cxx AliFemtoTTreeV0.h AliFemtoVector.h
56 * Revision 1.1 2001/05/25 23:23:59 lisa
57 * Added in AliFemtoKink stuff
61 ***********************************************************************/
63 #include "AliFemtoKink.h"
64 #include "phys_constants.h"
65 #include "AliFemtoTrack.h"
66 // -----------------------------------------------------------------------
67 AliFemtoKink::AliFemtoKink():
68 fDcaParentDaughter(0), fDcaDaughterPrimaryVertex(0),
69 fDcaParentPrimaryVertex(0), fHitDistanceParentDaughter(0),
70 fHitDistanceParentVertex(0),
71 fDecayAngle(0), fDecayAngleCM(0),
76 // -----------------------------------------------------------------------
77 AliFemtoKink::AliFemtoKink(const AliFemtoKink& k):
78 fDcaParentDaughter(0), fDcaDaughterPrimaryVertex(0),
79 fDcaParentPrimaryVertex(0), fHitDistanceParentDaughter(0),
80 fHitDistanceParentVertex(0),
81 fDecayAngle(0), fDecayAngleCM(0),
87 fDcaParentDaughter = k.fDcaParentDaughter;
88 fDcaDaughterPrimaryVertex = k.fDcaDaughterPrimaryVertex;
89 fDcaParentPrimaryVertex = k.fDcaParentPrimaryVertex;
90 fHitDistanceParentDaughter = k.fHitDistanceParentDaughter;
91 fHitDistanceParentVertex = k.fHitDistanceParentVertex;
92 fDeltaEnergy[0] = k.fDeltaEnergy[0];
93 fDeltaEnergy[1] = k.fDeltaEnergy[1];
94 fDeltaEnergy[2] = k.fDeltaEnergy[2];
95 fDecayAngle = k.fDecayAngle;
96 fDecayAngleCM = k.fDecayAngleCM;
97 fDaughter = k.fDaughter;
99 fPosition = k.fPosition;
102 // -----------------------------------------------------------------------
105 //--------------------- below here is ONLY star ----------------
106 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
108 #include "StEvent/StTrack.h"
109 #include "StEvent/StKinkVertex.h"
110 AliFemtoKink::AliFemtoKink( const StKinkVertex& SKV, AliFemtoThreeVector PrimaryVertex )
113 fDcaParentDaughter = SKV.dcaParentDaughter();
114 fDcaDaughterPrimaryVertex = SKV.dcaDaughterPrimaryVertex();
115 fDcaParentPrimaryVertex = SKV.dcaParentPrimaryVertex();
116 fHitDistanceParentDaughter = SKV.hitDistanceParentDaughter();
117 fHitDistanceParentVertex = SKV.hitDistanceParentVertex();
118 fDeltaEnergy[0] = SKV.dE(0);
119 fDeltaEnergy[1] = SKV.dE(1);
120 fDeltaEnergy[2] = SKV.dE(2);
121 fDecayAngle = SKV.decayAngle();
122 fDecayAngleCM = SKV.decayAngleCM();
124 // now fill member AliFemtoTrack data...
125 const StTrack* StTrk;
126 AliFemtoTrack* HbtTrk;
128 StTrk = SKV.daughter(0);
129 HbtTrk = new AliFemtoTrack(StTrk,PrimaryVertex); // generate NEW HbtTrack from StTrack
130 fDaughter = *HbtTrk; // invoke copy ctr of AliFemtoTrack
131 delete HbtTrk; // get rid of the NEW HbtTrack - we are done with that
133 StTrk = SKV.parent();
134 HbtTrk = new AliFemtoTrack(StTrk,PrimaryVertex); // generate NEW HbtTrack from StTrack
135 fParent = *HbtTrk; // invoke copy ctr of AliFemtoTrack
136 delete HbtTrk; // get rid of the NEW HbtTrack - we are done with that
138 // finally, the kink position
139 fPosition.setX(SKV.position().x());
140 fPosition.setY(SKV.position().y());
141 fPosition.setZ(SKV.position().z());
145 // mike removed all AliFemtoTTree stuff 21apr2006
148 #endif // __NO_STAR_DEPENDENCE_ALLOWED__