StFlowTrack.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. //////////////////////////////////////////////////////////////////////
  2. //
  3. // $Id: StFlowTrack.h,v 1.28 2010/03/08 16:52:53 posk Exp $
  4. //
  5. // Author: Raimond Snellings and Art Poskanzer
  6. // FTPC added by Markus Oldenburg, MPI, Dec 2000
  7. //
  8. // Description: part of StFlowTrackCollection
  9. //
  10. ///////////////////////////////////////////////////////////////////////
  11. #ifndef StFlowTrack_h
  12. #define StFlowTrack_h
  13. #include <string.h>
  14. #include <math.h>
  15. #include "Rtypes.h"
  16. #include "StObject.h"
  17. #include "StFlowConstants.h"
  18. #include "StTrackTopologyMap.h"
  19. #include "StThreeVectorD.hh"
  20. class StFlowTrack : public StObject {
  21. public:
  22. StFlowTrack();
  23. virtual ~StFlowTrack();
  24. Float_t PidPiPlus() const;
  25. Float_t PidPiMinus() const;
  26. Float_t PidProton() const;
  27. Float_t PidKaonMinus() const;
  28. Float_t PidKaonPlus() const;
  29. Float_t PidAntiProton() const;
  30. Float_t PidDeuteron() const;
  31. Float_t PidAntiDeuteron() const;
  32. Float_t PidElectron() const;
  33. Float_t PidPositron() const;
  34. Float_t Mass() const; // direct cumulant maker
  35. Int_t id() const;
  36. Int_t Flag() const;
  37. const Char_t* Pid() const;
  38. Float_t Phi() const;
  39. Float_t PhiGlobal() const;
  40. Float_t Eta() const;
  41. Float_t EtaGlobal() const;
  42. Float_t ZFirstPoint() const;
  43. Float_t ZLastPoint() const;
  44. Float_t Dedx() const;
  45. Float_t Pt() const;
  46. Float_t PtGlobal() const;
  47. Float_t P() const;
  48. Float_t PGlobal() const;
  49. Float_t Y() const;
  50. Short_t Charge() const;
  51. Float_t Dca() const;
  52. Float_t DcaSigned() const;
  53. Float_t DcaGlobal() const;
  54. Float_t Chi2() const;
  55. Int_t FitPts() const; // contains fit points in TPC xor FTPC only (SVT and/or SSD hits subtracted)
  56. Int_t MaxPts() const; // contains possible hits in TPC xor FTPC only (SVT and/or SSD hits subtracted)
  57. Int_t Nhits() const; // contains ALL hits on the track (TPC + SVT + SSD + FTPC east + FTPC west)
  58. Int_t NdedxPts() const;
  59. Float_t TrackLength() const;
  60. Int_t Select(Int_t harmonic, Int_t selection, Int_t subevent= -1) const;
  61. Int_t MostLikelihoodPID() const;
  62. Float_t MostLikelihoodProb() const;
  63. Int_t ExtrapTag() const;
  64. Float_t ElectronPositronProb() const;
  65. Float_t PionPlusMinusProb() const;
  66. Float_t KaonPlusMinusProb() const;
  67. Float_t ProtonPbarProb() const;
  68. StThreeVectorD DcaGlobal3() const;
  69. const StTrackTopologyMap& TopologyMap() const;
  70. void SetPidPiPlus(Float_t);
  71. void SetPidPiMinus(Float_t);
  72. void SetPidProton(Float_t);
  73. void SetPidKaonMinus(Float_t);
  74. void SetPidKaonPlus(Float_t);
  75. void SetPidAntiProton(Float_t);
  76. void SetPidDeuteron(Float_t);
  77. void SetPidAntiDeuteron(Float_t);
  78. void SetPidElectron(Float_t);
  79. void SetPidPositron(Float_t);
  80. void SetPid(const Char_t*);
  81. void SetPhi(Float_t);
  82. void SetPhiGlobal(Float_t);
  83. void SetEta(Float_t);
  84. void SetEtaGlobal(Float_t);
  85. void SetZFirstPoint(Float_t);
  86. void SetZLastPoint(Float_t);
  87. void SetDedx(Float_t);
  88. void SetPt(Float_t);
  89. void SetPtGlobal(Float_t);
  90. void SetCharge(Short_t);
  91. void SetDca(Float_t);
  92. void SetDcaSigned(Float_t);
  93. void SetDcaGlobal(Float_t);
  94. void SetChi2(Float_t);
  95. void SetFitPts(Int_t);
  96. void SetMaxPts(Int_t);
  97. void SetNhits(Int_t);
  98. void SetNdedxPts(Int_t);
  99. void SetTrackLength(Float_t);
  100. void SetSelect(Int_t harmonic, Int_t selection);
  101. void SetSubevent(Int_t harmonic, Int_t selection, Int_t subevent);
  102. void SetMostLikelihoodPID(Int_t);
  103. void SetMostLikelihoodProb(Float_t);
  104. void SetExtrapTag(Int_t);
  105. void SetElectronPositronProb(Float_t);
  106. void SetPionPlusMinusProb(Float_t);
  107. void SetKaonPlusMinusProb(Float_t);
  108. void SetProtonPbarProb(Float_t);
  109. void SetDcaGlobal3(StThreeVectorD gdca3);
  110. void SetTopologyMap(StTrackTopologyMap map);
  111. void SetMass(Float_t); // direct cumulant maker
  112. void Setid(int);
  113. void SetFlag(int);
  114. private:
  115. Int_t mPidPiPlus;
  116. Int_t mPidPiMinus;
  117. Int_t mPidProton;
  118. Int_t mPidKaonPlus;
  119. Int_t mPidKaonMinus;
  120. Int_t mPidAntiProton;
  121. Int_t mPidDeuteron;
  122. Int_t mPidAntiDeuteron;
  123. Int_t mPidElectron;
  124. Int_t mPidPositron;
  125. Char_t mPid[12];
  126. Float_t mPhi;
  127. Float_t mPhiGlobal;
  128. Float_t mEta;
  129. Float_t mEtaGlobal;
  130. Float_t mZFirstPoint;
  131. Float_t mZLastPoint;
  132. Float_t mDedx;
  133. Float_t mPt;
  134. Float_t mPtGlobal;
  135. Short_t mCharge;
  136. Float_t mDca;
  137. Float_t mDcaSigned;
  138. Float_t mDcaGlobal;
  139. Float_t mChi2;
  140. Int_t mFitPts; // contains fit points in TPC xor FTPC only (SVT and/or SSD hits subtracted)
  141. Int_t mMaxPts; // contains possible hits in TPC xor FTPC only (SVT and/or SSD hits subtracted)
  142. Int_t mNhits; // contains ALL hits on the track (TPC + SVT + SSD + FTPC east + FTPC west)
  143. Int_t mNdedxPts;
  144. Float_t mTrackLength;
  145. Int_t mSelection;
  146. Short_t mSubevent[Flow::nHars][Flow::nSels];
  147. static Float_t maxInt;
  148. Int_t mMostLikelihoodPID;
  149. Float_t mMostLikelihoodProb;
  150. Int_t mExtrapTag; //merging area tag.
  151. Float_t mElectronPositronProb;
  152. Float_t mPionPlusMinusProb;
  153. Float_t mKaonPlusMinusProb;
  154. Float_t mProtonPbarProb;
  155. StThreeVectorD mDcaGlobal3;
  156. StTrackTopologyMap mTopology;
  157. Float_t mMass; // direct cumulant maker
  158. Int_t mId;
  159. Int_t mFlag;
  160. ClassDef(StFlowTrack, 1) // macro for rootcint
  161. };
  162. inline Float_t StFlowTrack::PidPiPlus() const { return mPidPiPlus/1000.; }
  163. inline Float_t StFlowTrack::PidPiMinus() const { return mPidPiMinus/1000.; }
  164. inline Float_t StFlowTrack::PidProton() const { return mPidProton/1000.; }
  165. inline Float_t StFlowTrack::PidKaonMinus() const { return mPidKaonMinus/1000.; }
  166. inline Float_t StFlowTrack::PidKaonPlus() const { return mPidKaonPlus/1000.; }
  167. inline Float_t StFlowTrack::PidAntiProton() const { return mPidAntiProton/1000.; }
  168. inline Float_t StFlowTrack::PidDeuteron() const { return mPidDeuteron/1000.; }
  169. inline Float_t StFlowTrack::PidAntiDeuteron() const { return mPidAntiDeuteron/1000.; }
  170. inline Float_t StFlowTrack::PidElectron() const { return mPidElectron/1000.; }
  171. inline Float_t StFlowTrack::PidPositron() const { return mPidPositron/1000.; }
  172. inline const Char_t* StFlowTrack::Pid() const { return mPid; }
  173. inline Float_t StFlowTrack::Phi() const { return mPhi; }
  174. inline Float_t StFlowTrack::PhiGlobal() const { return mPhiGlobal; }
  175. inline Float_t StFlowTrack::Eta() const { return mEta; }
  176. inline Float_t StFlowTrack::EtaGlobal() const { return mEtaGlobal; }
  177. inline Float_t StFlowTrack::ZFirstPoint() const { return mZFirstPoint; }
  178. inline Float_t StFlowTrack::ZLastPoint() const { return mZLastPoint; }
  179. inline Float_t StFlowTrack::Dedx() const { return mDedx; }
  180. inline Float_t StFlowTrack::Pt() const { return mPt; }
  181. inline Float_t StFlowTrack::PtGlobal() const { return mPtGlobal; }
  182. inline Short_t StFlowTrack::Charge() const { return mCharge; }
  183. inline Float_t StFlowTrack::Dca() const { return mDca; }
  184. inline Float_t StFlowTrack::DcaSigned() const { return mDcaSigned; }
  185. inline Float_t StFlowTrack::DcaGlobal() const { return mDcaGlobal; }
  186. inline Float_t StFlowTrack::Chi2() const { return mChi2; }
  187. inline Int_t StFlowTrack::FitPts() const { return mFitPts; }
  188. inline Int_t StFlowTrack::MaxPts() const { return mMaxPts; }
  189. inline Int_t StFlowTrack::Nhits() const { return mNhits; }
  190. inline Int_t StFlowTrack::NdedxPts() const { return mNdedxPts; }
  191. inline Float_t StFlowTrack::TrackLength() const { return mTrackLength; }
  192. inline Int_t StFlowTrack::MostLikelihoodPID() const
  193. { return mMostLikelihoodPID; }
  194. inline Float_t StFlowTrack::MostLikelihoodProb() const
  195. { return mMostLikelihoodProb; }
  196. inline Int_t StFlowTrack::ExtrapTag() const { return mExtrapTag; }
  197. inline Float_t StFlowTrack::ElectronPositronProb() const { return mElectronPositronProb; }
  198. inline Float_t StFlowTrack::PionPlusMinusProb() const { return mPionPlusMinusProb; }
  199. inline Float_t StFlowTrack::KaonPlusMinusProb() const { return mKaonPlusMinusProb; }
  200. inline Float_t StFlowTrack::ProtonPbarProb() const { return mProtonPbarProb; }
  201. inline StThreeVectorD StFlowTrack::DcaGlobal3() const { return mDcaGlobal3; }
  202. inline const StTrackTopologyMap& StFlowTrack::TopologyMap() const { return mTopology; }
  203. inline Float_t StFlowTrack::Mass() const { return mMass; }
  204. inline Int_t StFlowTrack::id() const { return mId; }
  205. inline Int_t StFlowTrack::Flag() const { return mFlag; }
  206. inline Float_t StFlowTrack::P() const {
  207. float momentum = mPt/::sqrt(1-(tanh(mEta)*tanh(mEta)));
  208. return momentum; }
  209. inline Float_t StFlowTrack::PGlobal() const {
  210. float momentum = mPtGlobal/::sqrt(1-(tanh(mEtaGlobal)*tanh(mEtaGlobal)));
  211. return momentum; }
  212. inline Float_t StFlowTrack::Y() const {
  213. float M = 0.139;
  214. if (strcmp(mPid, "none") == 0) { M = 0.139; }
  215. else if (strcmp(mPid, "pi+") == 0) { M = 0.139; }
  216. else if (strcmp(mPid, "pi-") == 0) { M = 0.139; }
  217. else if (strcmp(mPid, "pr+") == 0) { M = 0.938; }
  218. else if (strcmp(mPid, "pr-") == 0) { M = 0.938; }
  219. else if (strcmp(mPid, "k+") == 0) { M = 0.494; }
  220. else if (strcmp(mPid, "k-") == 0) { M = 0.494; }
  221. else if (strcmp(mPid, "d+") == 0) { M = 1.876; }
  222. else if (strcmp(mPid, "d-") == 0) { M = 1.876; }
  223. else if (strcmp(mPid, "e-") == 0) { M = 0.0005; }
  224. else if (strcmp(mPid, "e+") == 0) { M = 0.0005; }
  225. double Pz = ::sqrt(this->P()*this->P() - mPt*mPt);
  226. if (mEta < 0) { Pz = -Pz; }
  227. double E = ::sqrt(this->P()*this->P() + M*M);
  228. float rapidity = 0.5*::log((E + Pz)/(E - Pz));
  229. return rapidity;
  230. }
  231. inline Int_t StFlowTrack::Select(Int_t harmonic, Int_t selection,
  232. Int_t subevent) const {
  233. if (subevent == -1 || subevent == mSubevent[harmonic][selection]) {
  234. int bitShift = harmonic + Flow::nHars * selection;
  235. return (mSelection & (1 << bitShift)) ? kTRUE : kFALSE;
  236. }
  237. return kFALSE;
  238. }
  239. inline void StFlowTrack::SetMostLikelihoodPID(Int_t val) {
  240. mMostLikelihoodPID=val; }
  241. inline void StFlowTrack::SetMostLikelihoodProb(Float_t val) {
  242. mMostLikelihoodProb=val; }
  243. inline void StFlowTrack::SetExtrapTag(Int_t val) {
  244. mExtrapTag=val; }
  245. inline void StFlowTrack::SetElectronPositronProb(Float_t val) {
  246. mElectronPositronProb = val; }
  247. inline void StFlowTrack::SetPionPlusMinusProb(Float_t val) {
  248. mPionPlusMinusProb = val; }
  249. inline void StFlowTrack::SetKaonPlusMinusProb(Float_t val) {
  250. mKaonPlusMinusProb = val; }
  251. inline void StFlowTrack::SetProtonPbarProb(Float_t val) {
  252. mProtonPbarProb = val; }
  253. inline void StFlowTrack::SetPidPiPlus(Float_t pid) {
  254. if (fabs(pid) > maxInt) pid = maxInt; mPidPiPlus = (Int_t)(pid*1000.); }
  255. inline void StFlowTrack::SetPidPiMinus(Float_t pid) {
  256. if (fabs(pid) > maxInt) pid = maxInt; mPidPiMinus = (Int_t)(pid*1000.); }
  257. inline void StFlowTrack::SetPidProton(Float_t pid) {
  258. if (fabs(pid) > maxInt) pid = maxInt; mPidProton = (Int_t)(pid*1000.); }
  259. inline void StFlowTrack::SetPidKaonMinus(Float_t pid) {
  260. if (fabs(pid) > maxInt) pid = maxInt; mPidKaonMinus = (Int_t)(pid*1000.); }
  261. inline void StFlowTrack::SetPidKaonPlus(Float_t pid) {
  262. if (fabs(pid) > maxInt) pid = maxInt; mPidKaonPlus = (Int_t)(pid*1000.); }
  263. inline void StFlowTrack::SetPidAntiProton(Float_t pid) {
  264. if (fabs(pid) > maxInt) pid = maxInt; mPidAntiProton = (Int_t)(pid*1000.); }
  265. inline void StFlowTrack::SetPidDeuteron(Float_t pid) {
  266. if (fabs(pid) > maxInt) pid = maxInt; mPidDeuteron = (Int_t)(pid*1000.); }
  267. inline void StFlowTrack::SetPidAntiDeuteron(Float_t pid) {
  268. if (fabs(pid) > maxInt) pid = maxInt; mPidAntiDeuteron = (Int_t)(pid*1000.); }
  269. inline void StFlowTrack::SetPidElectron(Float_t pid) {
  270. if (fabs(pid) > maxInt) pid = maxInt; mPidElectron = (Int_t)(pid*1000.); }
  271. inline void StFlowTrack::SetPidPositron(Float_t pid) {
  272. if (fabs(pid) > maxInt) pid = maxInt; mPidPositron = (Int_t)(pid*1000.); }
  273. inline void StFlowTrack::SetPid(const Char_t* pid) { strncpy(mPid, pid, 9);
  274. mPid[9] = '\0'; }
  275. inline void StFlowTrack::SetPhi(Float_t phi) { mPhi = phi; }
  276. inline void StFlowTrack::SetPhiGlobal(Float_t gphi) { mPhiGlobal = gphi; }
  277. inline void StFlowTrack::SetEta(Float_t eta) { mEta = eta; }
  278. inline void StFlowTrack::SetEtaGlobal(Float_t geta) { mEtaGlobal = geta; }
  279. inline void StFlowTrack::SetZFirstPoint(Float_t zFirst) { mZFirstPoint = zFirst; }
  280. inline void StFlowTrack::SetZLastPoint(Float_t zLast) { mZLastPoint = zLast; }
  281. inline void StFlowTrack::SetDedx(Float_t dedx) { mDedx = dedx; }
  282. inline void StFlowTrack::SetPt(Float_t pt) { mPt = pt; }
  283. inline void StFlowTrack::SetPtGlobal(Float_t gpt) { mPtGlobal = gpt; }
  284. inline void StFlowTrack::SetCharge(Short_t charge) { mCharge = charge; }
  285. inline void StFlowTrack::SetDca(Float_t dca) { mDca = dca; }
  286. inline void StFlowTrack::SetDcaSigned(Float_t sdca) { mDcaSigned = sdca; }
  287. inline void StFlowTrack::SetDcaGlobal(Float_t gdca) { mDcaGlobal = gdca; }
  288. inline void StFlowTrack::SetChi2(Float_t chi2) { mChi2 = chi2; }
  289. inline void StFlowTrack::SetFitPts(Int_t fitPts) { mFitPts = fitPts; }
  290. inline void StFlowTrack::SetMaxPts(Int_t maxPts) { mMaxPts = maxPts; }
  291. inline void StFlowTrack::SetNhits(Int_t nhits) { mNhits = nhits; }
  292. inline void StFlowTrack::SetNdedxPts(Int_t ndedxPts) { mNdedxPts = ndedxPts; }
  293. inline void StFlowTrack::SetTrackLength(Float_t tl) { mTrackLength = tl; }
  294. inline void StFlowTrack::SetSelect(Int_t harmonic, Int_t selection) {
  295. int bitShift = harmonic + Flow::nHars * selection;
  296. mSelection |= 1 << bitShift; }
  297. inline void StFlowTrack::SetSubevent(Int_t harmonic, Int_t selection,
  298. Int_t subevent) { mSubevent[harmonic][selection] = subevent; }
  299. inline void StFlowTrack::SetDcaGlobal3(StThreeVectorD gdca3) { mDcaGlobal3 = gdca3; }
  300. inline void StFlowTrack::SetTopologyMap(StTrackTopologyMap map) { mTopology = map; }
  301. inline void StFlowTrack::SetMass(Float_t mass) { mMass = mass; }
  302. inline void StFlowTrack::Setid(Int_t id) {mId = id;}
  303. inline void StFlowTrack::SetFlag(Int_t flag) {mFlag = flag;}
  304. #endif
  305. //////////////////////////////////////////////////////////////////////
  306. //
  307. // $Log: StFlowTrack.h,v $
  308. // Revision 1.28 2010/03/08 16:52:53 posk
  309. // Added StFlowDirectCumulantMaker written by Dhevan Gangadharan.
  310. //
  311. // Revision 1.27 2004/08/18 00:19:21 oldi
  312. // Several changes were necessary to comply with latest changes of MuDsts and StEvent:
  313. //
  314. // nHits, nFitPoints, nMaxPoints
  315. // -----------------------------
  316. // From now on
  317. // - the fit points used in StFlowMaker are the fit points within the TPC xor FTPC (vertex excluded).
  318. // - the max. possible points used in StFlowMAker are the max. possible points within the TPC xor FTPC (vertex excluded).
  319. // - the number of points (nHits; not used for analyses so far) are the total number of points on a track, i. e.
  320. // TPC + SVT + SSD + FTPCeast + FTPCwest [reading from HBT event gives a warning, but it seems like nobody uses it anyhow].
  321. // - The fit/max plot (used to be (fit-1)/max) was updated accordingly.
  322. // - The default cuts for fit points were changed (only for the FTPC, since TPC doesn't set default cuts).
  323. // - All these changes are backward compatible, as long as you change your cuts for the fit points by 1 (the vertex used to
  324. // be included and is not included anymore). In other words, your results won't depend on old or new MuDst, StEvent,
  325. // PicoDsts as long as you use the new flow software (together with the latest MuDst and StEvent software version).
  326. // - For backward compatibility reasons the number of fit points which is written out to the flowpicoevent.root file
  327. // includes the vertex. It is subtracted internally while reading back the pico files. This is completely hidden from the
  328. // user.
  329. //
  330. // zFirstPoint
  331. // -----------
  332. // The positions of the first point of tracks which have points in the TPC can lie outside of the TPC (the tracks can start in
  333. // the SVT or SSD now). In this case, the first point of the track is obtained by extrapolating the track helix to the inner
  334. // radius of the TPC.
  335. //
  336. // Revision 1.26 2003/09/02 17:58:13 perev
  337. // gcc 3.2 updates + WarnOff
  338. //
  339. // Revision 1.25 2003/02/25 19:28:41 posk
  340. // Changed a few unimportant default cuts.
  341. //
  342. // Revision 1.24 2003/01/08 19:26:52 posk
  343. // PhiWgt hists sorted on sign of z of first and last points.
  344. // Version 6 of pico file.
  345. //
  346. // Revision 1.23 2001/12/18 19:22:42 posk
  347. // "proton" and "antiproton" changed to "pr+" and "pr-".
  348. // Compiles on Solaris.
  349. //
  350. // Revision 1.22 2001/11/09 21:11:04 posk
  351. // Switched from CERNLIB to TMath. Little q is now normalized.
  352. //
  353. // Revision 1.21 2001/07/27 01:26:43 snelling
  354. // Added and changed variables for picoEvent. Changed trackCut class to StTrack
  355. //
  356. // Revision 1.20 2001/07/24 22:29:44 snelling
  357. // First attempt to get a standard root pico file again, added variables
  358. //
  359. // Revision 1.19 2001/05/22 20:18:04 posk
  360. // Now can do pseudorapidity subevents.
  361. //
  362. // Revision 1.18 2000/12/12 20:22:06 posk
  363. // Put log comments at end of files.
  364. // Deleted persistent StFlowEvent (old micro DST).
  365. //
  366. // Revision 1.17 2000/12/10 02:01:13 oldi
  367. // A new member (StTrackTopologyMap mTopology) was added to StFlowPicoTrack.
  368. // The evaluation of either a track originates from the FTPC or not is
  369. // unambiguous now. The evaluation itself is easily extendible for other
  370. // detectors (e.g. SVT+TPC). Old flowpicoevent.root files are treated as if
  371. // they contain TPC tracks only (backward compatibility).
  372. //
  373. // Revision 1.16 2000/12/06 15:38:46 oldi
  374. // Including FTPC.
  375. //
  376. // Revision 1.15 2000/10/12 22:46:40 snelling
  377. // Added support for the new pDST's and the probability pid method
  378. //
  379. // Revision 1.13 2000/09/16 22:20:35 snelling
  380. // Added selection on P and global DCA and fixed rapidity calulation
  381. //
  382. // Revision 1.12 2000/09/15 22:51:35 posk
  383. // Added pt weighting for event plane calcualtion.
  384. //
  385. // Revision 1.11 2000/09/15 01:20:04 snelling
  386. // Added methods for P and Y and added selection on Y
  387. //
  388. // Revision 1.10 2000/09/05 17:57:13 snelling
  389. // Solaris needs math.h for fabs
  390. //
  391. // Revision 1.9 2000/09/05 16:11:39 snelling
  392. // Added global DCA, electron and positron
  393. //
  394. // Revision 1.8 2000/08/09 21:38:23 snelling
  395. // PID added
  396. //
  397. // Revision 1.7 2000/06/01 18:26:41 posk
  398. // Increased precision of Track integer data members.
  399. //
  400. // Revision 1.6 2000/05/26 21:29:34 posk
  401. // Protected Track data members from overflow.
  402. //
  403. // Revision 1.4 2000/05/16 20:59:35 posk
  404. // Voloshin's flownanoevent.root added.
  405. //
  406. // Revision 1.3 2000/05/12 22:42:05 snelling
  407. // Additions for persistency and minor fix
  408. //
  409. // Revision 1.1 2000/03/02 23:02:57 posk
  410. // Changed extensions from .hh and .cc to .h and .cxx .
  411. //
  412. // Revision 1.10 2000/02/29 22:00:56 posk
  413. // Made SetPhiWeight inline, changed ImpactPar to Dca, etc.
  414. //
  415. // Revision 1.9 2000/02/18 22:49:57 posk
  416. // Added PID and centrality.
  417. //
  418. // Revision 1.5 1999/12/15 22:01:29 posk
  419. // Added StFlowConstants.hh
  420. //
  421. // Revision 1.4 1999/12/04 00:10:35 posk
  422. // Works with the new StEvent
  423. //
  424. // Revision 1.3 1999/11/30 18:52:55 snelling
  425. // First modification for the new StEvent
  426. //
  427. // Revision 1.2 1999/11/24 18:17:16 posk
  428. // Put the methods which act on the data in with the data in StFlowEvent.
  429. //
  430. // Revision 1.1 1999/11/04 19:02:08 snelling
  431. // First check in of StFlowMaker. It contains the common code from
  432. // StFlowTagMaker and StFlowAnalysisMaker.
  433. //
  434. //////////////////////////////////////////////////////////////////////