StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StV0I.hh
1 
11 #ifndef StV0I_hh
12 #define StV0I_hh
13 #include "phys_constants.h"
14 #include <math.h>
15 #include "StStrangeEvMuDst.hh"
16 #include "StDecayAngle.hh"
17 
18 #ifndef StTrackTopologyMap_hh
19 #include "StEvent/StTrackTopologyMap.h"
20 #endif
21 
22 class StStrangeEvMuDst;
23 R__EXTERN StTrackTopologyMap* gFakeTopoPtr;
24 static const Float_t M_LAMBDA_2 = ::pow(M_LAMBDA,2);
25 static const Float_t M_KAON_0_SHORT_2 = ::pow(M_KAON_0_SHORT,2);
26 static const Float_t M_PROTON_2 = ::pow(M_PROTON,2);
27 static const Float_t M_ANTIPROTON_2 = ::pow(M_ANTIPROTON,2);
28 static const Float_t M_PION_PLUS_2 = ::pow(M_PION_PLUS,2);
29 static const Float_t M_PION_MINUS_2 = ::pow(M_PION_MINUS,2);
30 
31 class StV0I {
32 public:
33  StV0I() {}
34  virtual ~StV0I() {}
35 
36 // ************************************************************************
38 // ************************************************************************
39 
41  virtual void Clear();
45  virtual void SetEvent(StStrangeEvMuDst*);
47 
49 
50  virtual Float_t decayLengthV0() const;
52  virtual Float_t decayVertexV0X() const=0;
53  virtual Float_t decayVertexV0Y() const=0;
54  virtual Float_t decayVertexV0Z() const=0;
55  Float_t alphaV0();
56  Float_t ptArmV0();
58  Float_t cTauLambda();
60  Float_t cTauK0Short();
62 
64 
65  TVector3 momPos();
67  virtual Float_t momPosX() const=0;
68  virtual Float_t momPosY() const=0;
69  virtual Float_t momPosZ() const=0;
71  TVector3 momNeg();
72  virtual Float_t momNegX() const=0;
73  virtual Float_t momNegY() const=0;
74  virtual Float_t momNegZ() const=0;
76  TVector3 momV0();
77  virtual Float_t momV0X() const=0;
78  virtual Float_t momV0Y() const=0;
79  virtual Float_t momV0Z() const=0;
81  Float_t ptV0();
83  Float_t ptPos();
85  Float_t ptNeg();
87  Float_t ptotV0();
89  Float_t ptotPos();
91  Float_t ptotNeg();
93 
95 
96  Float_t eLambda();
99  Float_t eK0Short();
101  Float_t ePosProton();
103  Float_t ePosPion();
105  Float_t eNegProton();
107  Float_t eNegPion();
109  Float_t massLambda();
111  Float_t massAntiLambda();
113  Float_t massK0Short();
115  Float_t rapLambda();
117  Float_t rapK0Short();
119 
121 
122  Float_t thetaV0();
125  Float_t thetaPos();
127  Float_t thetaNeg();
129  Float_t pseudoRapV0();
131  Float_t pseudoRapPos();
133  Float_t pseudoRapNeg();
135 
137 
138  Float_t mtLambda();
141  Float_t mtK0Short();
143  Float_t mtm0Lambda();
145  Float_t mtm0K0Short();
147 
149 
150  Float_t ePosHyp(Float_t mass);
153  Float_t eNegHyp(Float_t mass);
154  Float_t massHypV0(Float_t massPos, Float_t massNeg);
155  Float_t eHypV0(Float_t mass);
156  Float_t rapHypV0(Float_t mass);
157  Float_t mtHypV0(Float_t mass);
159  Float_t mtm0HypV0(Float_t mass);
161 
163 
164  Float_t decayCosThetaK0Short(); // k-short - pos. daughter
165  Float_t decayCosThetaLambda(); // lambda - pos. daughter
166  Float_t decayCosThetaAntiLambda(); // antilambda - neg. daughter
167  Float_t polCosThetaLambda(); // lambda - pos. daughter
168  Float_t polCosThetaAntiLambda(); // antilambda - neg. daughter
169  Float_t decayCosThetaPosLambda(); // lambda - pos. daughter
170  Float_t decayCosThetaNegLambda(); // lambda - neg. daughter
171  Float_t decayCosThetaPosAntiLambda(); // antilambda - pos. daughter
172  Float_t decayCosThetaNegAntiLambda(); // antilambda - neg. daughter
174 
175  Float_t dCTV0(Float_t m1, Float_t m2, StChargeSign charge);
177 
179 
180  TVector3 momPosK0Short(); // k-short - pos. daughter
181  TVector3 momNegK0Short(); // k-short - neg. daughter
182  TVector3 momPosLambda(); // lambda - neg. daughter
183  TVector3 momNegLambda(); // lambda - neg. daughter
184  TVector3 momPosAntiLambda(); // antilambda - pos. daughter
185  TVector3 momNegAntiLambda(); // antilambda - neg. daughter
188 
189  TVector3 momV0Frame(Float_t m1, Float_t m2, StChargeSign charge);
191 
192 // ************************************************************************
194 // ************************************************************************
195 
197  virtual Int_t decayMode() const {return -1;}
200  virtual Int_t geantIdParent() const {return -1;}
201  virtual Int_t geantIdPositive() const {return -1;}
202  virtual Int_t geantIdNegative() const {return -1;}
203  virtual Int_t positiveSimTpcHits() const {return -1;}
204  virtual Int_t positiveCommonTpcHits() const {return -1;}
205  virtual Int_t negativeSimTpcHits() const {return -1;}
206  virtual Int_t negativeCommonTpcHits() const {return -1;}
208 
209 // ************************************************************************
211 // ************************************************************************
212 
214  virtual Int_t keyPos() const {return 0;}
217  virtual Int_t keyNeg() const {return 0;}
219  virtual StTrackTopologyMap& topologyMapPos() {return (*gFakeTopoPtr);}
221  virtual StTrackTopologyMap& topologyMapNeg() {return (*gFakeTopoPtr);}
223  virtual Float_t dedxPos() const {return 0;}
225  virtual Float_t dedxNeg() const {return 0;}
227  virtual Float_t errDedxPos() const {return 0;}
229  virtual Float_t errDedxNeg() const {return 0;}
231  virtual UShort_t numDedxPos() const {return 0;}
233  virtual UShort_t numDedxNeg() const {return 0;}
235  virtual Float_t lenDedxPos() const {return 0;}
237  virtual Float_t lenDedxNeg() const {return 0;}
239 
241 
242  virtual Float_t dcaV0Daughters() const {return 0;}
245  virtual Float_t dcaV0ToPrimVertex() const {return -1;}
247  virtual Float_t dcaPosToPrimVertex() const {return -1;}
249  virtual Float_t dcaNegToPrimVertex() const {return -1;}
251 
253 
254  virtual Float_t chi2V0() const {return 0;}
257  virtual Float_t clV0() const {return 0;}
259  virtual Float_t chi2Pos() const {return 0;}
261  virtual Float_t clPos() const {return 0;}
263  virtual Float_t chi2Neg() const {return 0;}
265  virtual Float_t clNeg() const {return 0;}
267  virtual Long_t detectorIdV0() {return 0;}
269  virtual Long_t detectorIdPars() {return 0;}
271  virtual void setPosBad() {}
273  virtual void setNegBad() {}
275  virtual Bool_t bad() const {return (chi2Pos()<0 || chi2Neg()<0);}
277 
278 
279 protected:
280  Float_t Ptot2Pos();
281  Float_t Ptot2Neg();
282  Float_t Ptot2V0();
283  Float_t Pt2V0();
284  Float_t MomPosAlongV0();
285  Float_t MomNegAlongV0();
286 
287  StStrangeEvMuDst *mEvent;
288 };
289 
291  mEvent = ev;
292 }
293 
295  return mEvent;
296 }
297 
298 inline Float_t StV0I::decayLengthV0() const {
299  if (mEvent)
300  return ::sqrt(::pow(decayVertexV0X() - mEvent->primaryVertexX(),2) +
301  ::pow(decayVertexV0Y() - mEvent->primaryVertexY(),2) +
302  ::pow(decayVertexV0Z() - mEvent->primaryVertexZ(),2));
303  return 0.;
304 }
305 
306 inline TVector3 StV0I::momPos() {
307  return TVector3(momPosX(), momPosY(), momPosZ());
308 }
309 
310 inline TVector3 StV0I::momNeg() {
311  return TVector3(momNegX(), momNegY(), momNegZ());
312 }
313 
314 inline TVector3 StV0I::momV0() {
315  return TVector3(momV0X(), momV0Y(), momV0Z());
316 }
317 
318 inline Float_t StV0I::Ptot2Pos() {
319  return (::pow(momPosX(),2) + ::pow(momPosY(),2) + ::pow(momPosZ(),2));
320 }
321 
322 inline Float_t StV0I::Ptot2Neg() {
323  return (::pow(momNegX(),2) + ::pow(momNegY(),2) + ::pow(momNegZ(),2));
324 }
325 
326 inline Float_t StV0I::Pt2V0() {
327  return (::pow(momV0X(),2) + ::pow(momV0Y(),2));
328 }
329 
330 inline Float_t StV0I::Ptot2V0() {
331  return (Pt2V0() + ::pow(momV0Z(),2));
332 }
333 
334 inline Float_t StV0I::MomPosAlongV0() {
335  Float_t mPtot2V0 = Ptot2V0();
336  if (mPtot2V0)
337  return (momPosX()*momV0X() +
338  momPosY()*momV0Y() +
339  momPosZ()*momV0Z()) / ::sqrt(mPtot2V0);
340  return 0.;
341 }
342 
343 inline Float_t StV0I::MomNegAlongV0() {
344  Float_t mPtot2V0 = Ptot2V0();
345  if (mPtot2V0)
346  return (momNegX()*momV0X() +
347  momNegY()*momV0Y() +
348  momNegZ()*momV0Z()) / ::sqrt(mPtot2V0);
349  return 0.;
350 }
351 
352 inline Float_t StV0I::alphaV0() {
353  Float_t mMomPosAlongV0 = MomPosAlongV0();
354  Float_t mMomNegAlongV0 = MomNegAlongV0();
355  return (mMomPosAlongV0-mMomNegAlongV0)/
356  (mMomPosAlongV0+mMomNegAlongV0);
357 }
358 
359 inline Float_t StV0I::ptArmV0() {
360  Float_t ptarmsq = Ptot2Pos() - ::pow(MomPosAlongV0(),2);
361  return ((ptarmsq > 0.) ? ::sqrt(ptarmsq) : 0.);
362 }
363 
364 inline Float_t StV0I::eHypV0(Float_t mass) {
365  return ::sqrt(Ptot2V0()+::pow(mass,2));
366 }
367 
368 inline Float_t StV0I::eLambda() {
369  return ::sqrt(Ptot2V0()+M_LAMBDA_2);
370 }
371 
372 inline Float_t StV0I::eK0Short() {
373  return ::sqrt(Ptot2V0()+M_KAON_0_SHORT_2);
374 }
375 
376 inline Float_t StV0I::ePosHyp(Float_t mass) {
377  return ::sqrt(Ptot2Pos()+::pow(mass,2));
378 }
379 
380 inline Float_t StV0I::eNegHyp(Float_t mass) {
381  return ::sqrt(Ptot2Neg()+::pow(mass,2));
382 }
383 
384 inline Float_t StV0I::ePosProton() {
385  return ::sqrt(Ptot2Pos()+M_PROTON_2);
386 }
387 
388 inline Float_t StV0I::eNegProton() {
389  return ::sqrt(Ptot2Neg()+M_ANTIPROTON_2);
390 }
391 
392 inline Float_t StV0I::ePosPion() {
393  return ::sqrt(Ptot2Pos()+M_PION_PLUS_2);
394 }
395 
396 inline Float_t StV0I::eNegPion() {
397  return ::sqrt(Ptot2Neg()+M_PION_MINUS_2);
398 }
399 
400 inline Float_t StV0I::massHypV0(Float_t massPos, Float_t massNeg) {
401  Float_t msq = ::pow(ePosHyp(massPos)+eNegHyp(massNeg),2)-Ptot2V0();
402  return ((msq > 0.) ? ::sqrt(msq) : 0.);
403 }
404 
405 inline Float_t StV0I::massLambda() {
406  return ::sqrt(::pow(ePosProton()+eNegPion(),2)-Ptot2V0());
407 }
408 
409 inline Float_t StV0I::massAntiLambda() {
410  return ::sqrt(::pow(eNegProton()+ePosPion(),2)-Ptot2V0());
411 }
412 
413 inline Float_t StV0I::massK0Short() {
414  return ::sqrt(::pow(ePosPion()+eNegPion(),2)-Ptot2V0());
415 }
416 
417 inline Float_t StV0I::rapHypV0(Float_t mass) {
418  Float_t ehyp = eHypV0(mass);
419  Float_t mMomV0Z = momV0Z();
420  return 0.5*::log((ehyp+mMomV0Z)/(ehyp-mMomV0Z));
421 }
422 
423 inline Float_t StV0I::rapLambda() {
424  Float_t ela = eLambda();
425  Float_t mMomV0Z = momV0Z();
426  return 0.5*::log((ela+mMomV0Z)/(ela-mMomV0Z));
427 }
428 
429 inline Float_t StV0I::rapK0Short() {
430  Float_t ek0 = eK0Short();
431  Float_t mMomV0Z = momV0Z();
432  return 0.5*::log((ek0+mMomV0Z)/(ek0-mMomV0Z));
433 }
434 
435 inline Float_t StV0I::cTauLambda() {
436  return M_LAMBDA*decayLengthV0()/::sqrt(Ptot2V0());
437 }
438 
439 inline Float_t StV0I::cTauK0Short() {
440  return M_KAON_0_SHORT*decayLengthV0()/::sqrt(Ptot2V0());
441 }
442 
443 inline Float_t StV0I::ptPos() {
444  return ::sqrt(Ptot2Pos()-::pow(momPosZ(),2));
445 }
446 
447 inline Float_t StV0I::ptotPos() {
448  return ::sqrt(Ptot2Pos());
449 }
450 
451 inline Float_t StV0I::ptNeg() {
452  return ::sqrt(Ptot2Neg()-::pow(momNegZ(),2));
453 }
454 
455 inline Float_t StV0I::ptotNeg() {
456  return ::sqrt(Ptot2Neg());
457 }
458 
459 inline Float_t StV0I::ptV0() {
460  return ::sqrt(Pt2V0());
461 }
462 
463 inline Float_t StV0I::ptotV0() {
464  return ::sqrt(Ptot2V0());
465 }
466 
467 inline Float_t StV0I::thetaV0() {
468  return acos(momV0Z()/ptotV0());
469 }
470 
471 inline Float_t StV0I::pseudoRapV0() {
472  return (-::log(tan(thetaV0()/2.)));
473 }
474 
475 inline Float_t StV0I::thetaPos() {
476  return acos(momPosZ()/ptotPos());
477 }
478 
479 inline Float_t StV0I::pseudoRapPos() {
480  return (-::log(tan(thetaPos()/2.)));
481 }
482 
483 inline Float_t StV0I::thetaNeg() {
484  return acos(momNegZ()/ptotNeg());
485 }
486 
487 inline Float_t StV0I::pseudoRapNeg() {
488  return (-::log(tan(thetaNeg()/2.)));
489 }
490 
491 inline Float_t StV0I::mtHypV0(Float_t mass) {
492  return ::sqrt(Pt2V0()+::pow(mass,2));
493 }
494 
495 inline Float_t StV0I::mtLambda() {
496  return ::sqrt(Pt2V0()+M_LAMBDA_2);
497 }
498 
499 inline Float_t StV0I::mtK0Short() {
500  return ::sqrt(Pt2V0()+M_KAON_0_SHORT_2);
501 }
502 
503 inline Float_t StV0I::mtm0HypV0(Float_t mass) {
504  return (mtHypV0(mass)-mass);
505 }
506 
507 inline Float_t StV0I::mtm0Lambda() {
508  return (mtK0Short()-M_LAMBDA);
509 }
510 
511 inline Float_t StV0I::mtm0K0Short() {
512  return (mtK0Short()-M_KAON_0_SHORT);
513 }
514 
515 inline Float_t StV0I::decayCosThetaK0Short() { // default: use pos. daughter
516  return dCTV0(M_KAON_0_SHORT,M_PION_PLUS,positive);
517 }
518 
519 inline Float_t StV0I::decayCosThetaLambda() { // default: use pos. daughter
520  return decayCosThetaPosLambda();
521 }
522 
523 inline Float_t StV0I::decayCosThetaAntiLambda() { // default: use neg. daughter
524  return decayCosThetaNegAntiLambda();
525 }
526 
527 inline Float_t StV0I::polCosThetaLambda() { // default: use pos. daughter
528  return StDecayAngle::polarityCosTheta(
529  momV0X(),momV0Y(),momV0Z(),M_LAMBDA,
530  momPosX(),momPosY(),momPosZ(),M_PROTON);
531 }
532 
533 inline Float_t StV0I::polCosThetaAntiLambda() { // default: use neg. daughter
534  return StDecayAngle::polarityCosTheta(
535  momV0X(),momV0Y(),momV0Z(),M_LAMBDA,
536  momNegX(),momNegY(),momNegZ(),M_PROTON);
537 }
538 
539 inline Float_t StV0I::decayCosThetaPosLambda() {
540  return dCTV0(M_LAMBDA,M_PROTON,positive);
541 }
542 
543 inline Float_t StV0I::decayCosThetaNegLambda() {
544  return dCTV0(M_LAMBDA,M_PION_MINUS,negative);
545 }
546 
547 inline Float_t StV0I::decayCosThetaNegAntiLambda() {
548  return dCTV0(M_ANTILAMBDA,M_ANTIPROTON,negative);
549 }
550 
551 inline Float_t StV0I::decayCosThetaPosAntiLambda() {
552  return dCTV0(M_ANTILAMBDA,M_PION_PLUS,positive);
553 }
554 
555 inline Float_t StV0I::dCTV0(Float_t m1, Float_t m2, StChargeSign charge) {
556  return ( (charge == positive) ?
557  StDecayAngle::decayCosTheta(momV0X() ,momV0Y() ,momV0Z() ,m1,
558  momPosX(),momPosY(),momPosZ(),m2) :
559  StDecayAngle::decayCosTheta(momV0X() ,momV0Y() ,momV0Z() ,m1,
560  momNegX(),momNegY(),momNegZ(),m2) );
561 }
562 
563 inline TVector3 StV0I::momPosK0Short() {
564  return momV0Frame(M_KAON_0_SHORT,M_PION_PLUS,positive);
565 }
566 
567 inline TVector3 StV0I::momNegK0Short() {
568  return momV0Frame(M_KAON_0_SHORT,M_PION_MINUS,negative);
569 }
570 
571 inline TVector3 StV0I::momPosLambda() {
572  return momV0Frame(M_LAMBDA,M_PROTON,positive);
573 }
574 
575 inline TVector3 StV0I::momNegLambda() {
576  return momV0Frame(M_LAMBDA,M_PION_MINUS,negative);
577 }
578 
579 inline TVector3 StV0I::momPosAntiLambda() {
580  return momV0Frame(M_ANTILAMBDA,M_PION_PLUS,positive);
581 }
582 
583 inline TVector3 StV0I::momNegAntiLambda() {
584  return momV0Frame(M_ANTILAMBDA,M_ANTIPROTON,negative);
585 }
586 
587 inline TVector3 StV0I::momV0Frame(Float_t m1, Float_t m2, StChargeSign charge) {
588  return ( (charge == positive) ?
589  StDecayAngle::getShiftedDaughter(momV0X() ,momV0Y() ,momV0Z() ,m1,
590  momPosX(),momPosY(),momPosZ(),m2) :
591  StDecayAngle::getShiftedDaughter(momV0X() ,momV0Y() ,momV0Z() ,m1,
592  momNegX(),momNegY(),momNegZ(),m2) );
593 }
594 
595 inline void StV0I::Clear() {
596  mEvent = 0;
597 }
598 
599 #endif
600 
601 
602 /***********************************************************************
603  * $Id: StV0I.hh,v 3.13 2011/05/27 18:25:32 genevb Exp $
604  * $Log: StV0I.hh,v $
605  * Revision 3.13 2011/05/27 18:25:32 genevb
606  * Propagate StTrack::key => Int_t to other codes
607  *
608  * Revision 3.12 2008/07/10 16:16:55 genevb
609  * Allow for marking of bad tracks -> bad secondary vertices
610  *
611  * Revision 3.11 2003/10/26 06:06:01 genevb
612  * Added checks for sqrt of neg. numbers
613  *
614  * Revision 3.10 2003/09/02 17:59:04 perev
615  * gcc 3.2 updates + WarnOff
616  *
617  * Revision 3.9 2003/05/30 21:20:19 genevb
618  * doxygen savvy, encoding of FTPC mults, change virtual funcs
619  *
620  * Revision 3.8 2003/02/10 15:47:14 genevb
621  * Fixed mt calculations
622  *
623  * Revision 3.7 2002/07/30 20:07:52 genevb
624  * Better cTau calcs
625  *
626  * Revision 3.6 2002/04/30 16:02:48 genevb
627  * Common muDst, improved MC code, better kinks, StrangeCuts now a branch
628  *
629  * Revision 3.5 2002/02/10 15:29:09 genevb
630  * Additional functions for momenta of decay daughters in CM frame
631  *
632  * Revision 3.4 2001/11/28 05:14:59 genevb
633  * Additional decay angle functions
634  *
635  * Revision 3.3 2001/11/05 23:41:06 genevb
636  * Add more dEdx, B field info, careful of changes to TTree unrolling
637  *
638  * Revision 3.2 2001/08/23 13:20:58 genevb
639  * Many bug workarounds...
640  *
641  * Revision 3.1 2001/05/04 20:15:14 genevb
642  * Common interfaces and reorganization of components, add MC event info
643  *
644  *
645  ***********************************************************************/
virtual Float_t dedxPos() const
dE/dX of pos. daughter
Definition: StV0I.hh:223
Float_t dCTV0(Float_t m1, Float_t m2, StChargeSign charge)
This helper function can be used for decayCosTheta of any hypothesis.
Definition: StV0I.hh:555
virtual Float_t clNeg() const
Confidence level of neg. daughter.
Definition: StV0I.hh:265
virtual void setPosBad()
Set the pos. daughter as bad.
Definition: StV0I.hh:271
Float_t ptotV0()
Total momentum.
Definition: StV0I.hh:463
TVector3 momPos()
Momentum of pos. daughter.
Definition: StV0I.hh:306
Float_t ePosProton()
Energy of pos. daughter assuming proton.
Definition: StV0I.hh:384
virtual Float_t momNegZ() const =0
Momentum components of neg. daughter.
Definition: StV0I.hh:31
virtual Float_t errDedxPos() const
Error on mean of dE/dX of pos. daughter.
Definition: StV0I.hh:227
Float_t massAntiLambda()
Mass assuming antilambda hypothesis.
Definition: StV0I.hh:409
virtual Float_t lenDedxNeg() const
Length of dE/dX track of neg. daughter.
Definition: StV0I.hh:237
Float_t ptV0()
Transverse momentum.
Definition: StV0I.hh:459
Float_t ptotPos()
Total momentum of pos. daughter.
Definition: StV0I.hh:447
Float_t pseudoRapV0()
Pseudorapidity.
Definition: StV0I.hh:471
virtual Float_t dedxNeg() const
dE/dX of neg. daughter
Definition: StV0I.hh:225
Float_t massLambda()
Mass assuming lambda hypothesis.
Definition: StV0I.hh:405
virtual Float_t chi2V0() const
Chi square of V0.
Definition: StV0I.hh:255
Float_t eNegHyp(Float_t mass)
Energy of neg. daughter.
Definition: StV0I.hh:380
TVector3 momV0()
Momentum of V0.
Definition: StV0I.hh:314
virtual Float_t dcaPosToPrimVertex() const
DCA of pos v0 daughter to pri vertex.
Definition: StV0I.hh:247
virtual Float_t momPosZ() const =0
Momentum components of pos. daughter.
virtual Int_t decayMode() const
Definition: StV0I.hh:199
Float_t mtLambda()
Transverse mass assuming lambda.
Definition: StV0I.hh:495
virtual Float_t dcaNegToPrimVertex() const
DCA of neg v0 daughter to pri vertex.
Definition: StV0I.hh:249
Float_t rapK0Short()
Rapidity assuming k-short.
Definition: StV0I.hh:429
virtual Int_t keyPos() const
Pos. daughter track key.
Definition: StV0I.hh:215
Float_t eNegPion()
Energy of neg. daughter assuming pion.
Definition: StV0I.hh:396
virtual Float_t decayLengthV0() const
3-d decay distance
Definition: StV0I.hh:298
Float_t eNegProton()
Energy of neg. daughter assuming antiproton.
Definition: StV0I.hh:388
Float_t ptArmV0()
Armenteros-Podolanski variables.
Definition: StV0I.hh:359
virtual Float_t clPos() const
Confidence level of pos. daughter.
Definition: StV0I.hh:261
Float_t eK0Short()
Energy assuming k-short hypothesis.
Definition: StV0I.hh:372
Float_t thetaPos()
Polar angle theta of pos. daughter.
Definition: StV0I.hh:475
Float_t thetaV0()
Polar angle theta.
Definition: StV0I.hh:467
virtual StTrackTopologyMap & topologyMapNeg()
Neg. daughter track topology map.
Definition: StV0I.hh:221
Float_t cTauLambda()
Lifetime (ctau) assuming (anti)lambda.
Definition: StV0I.hh:435
virtual Float_t dcaV0Daughters() const
DCA of v0 daughters at decay vertex.
Definition: StV0I.hh:243
virtual void setNegBad()
Set the neg. daughter as bad.
Definition: StV0I.hh:273
Float_t cTauK0Short()
Lifetime (ctau) assuming k-short.
Definition: StV0I.hh:439
Float_t pseudoRapPos()
Pseudorapidity of pos. daughter.
Definition: StV0I.hh:479
virtual Float_t lenDedxPos() const
Length of dE/dX track of pos. daughter.
Definition: StV0I.hh:235
virtual Float_t clV0() const
Confidence level of V0.
Definition: StV0I.hh:257
Float_t thetaNeg()
Polar angle theta of neg. daughter.
Definition: StV0I.hh:483
Float_t ptPos()
Transverse momentum of pos. daughter.
Definition: StV0I.hh:443
Float_t mtK0Short()
Transverse mass assuming k-short.
Definition: StV0I.hh:499
Float_t ptotNeg()
Total momentum of neg. daughter.
Definition: StV0I.hh:455
Float_t mtm0K0Short()
mt-m0 assuming k-short
Definition: StV0I.hh:511
virtual Float_t decayVertexV0Z() const =0
Coordinates of decay vertex.
Float_t mtm0HypV0(Float_t mass)
Energy, rapidity, mt, mt-m0 of V0 assuming its mass.
Definition: StV0I.hh:503
TVector3 momNeg()
Momentum of neg. daughter.
Definition: StV0I.hh:310
StStrangeEvMuDst * event()
Pointer to event information.
Definition: StV0I.hh:294
Float_t ptNeg()
Transverse momentum of neg. daughter.
Definition: StV0I.hh:451
virtual StTrackTopologyMap & topologyMapPos()
Pos. daughter track topology map.
Definition: StV0I.hh:219
virtual Float_t chi2Pos() const
Chi square of pos. daughter.
Definition: StV0I.hh:259
Float_t rapLambda()
Rapidity assuming (anti)lambda.
Definition: StV0I.hh:423
Float_t eLambda()
Energy assuming lambda hypothesis.
Definition: StV0I.hh:368
virtual Long_t detectorIdPars()
Detector ID for pars used in V0 finder.
Definition: StV0I.hh:269
virtual void SetEvent(StStrangeEvMuDst *)
Set pointer to event information.
Definition: StV0I.hh:290
virtual Int_t keyNeg() const
Neg. daughter track key.
Definition: StV0I.hh:217
virtual UShort_t numDedxNeg() const
Number of dE/dX points for neg. daughter.
Definition: StV0I.hh:233
Float_t primaryVertexZ() const
Primary vtx position coordinates.
virtual Float_t momV0Z() const =0
Momentum components of V0.
Float_t massK0Short()
Mass assuming k-short hypothesis.
Definition: StV0I.hh:413
virtual UShort_t numDedxPos() const
Number of dE/dX points for pos. daughter.
Definition: StV0I.hh:231
virtual Float_t errDedxNeg() const
Error on mean of dE/dX of neg. daughter.
Definition: StV0I.hh:229
Float_t ePosPion()
Energy of pos. daughter assuming pion.
Definition: StV0I.hh:392
Float_t ePosHyp(Float_t mass)
Energy of pos. daughter assuming its mass.
Definition: StV0I.hh:376
TVector3 momV0Frame(Float_t m1, Float_t m2, StChargeSign charge)
Definition: StV0I.hh:587
virtual Long_t detectorIdV0()
Detector ID for V0 Vertex.
Definition: StV0I.hh:267
virtual Float_t chi2Neg() const
Chi square of neg. daughter.
Definition: StV0I.hh:263
Float_t pseudoRapNeg()
Pseudorapidity of neg. daughter.
Definition: StV0I.hh:487
virtual Float_t dcaV0ToPrimVertex() const
DCA of v0 to primary vertex.
Definition: StV0I.hh:245
Float_t mtm0Lambda()
mt-m0 assuming lambda
Definition: StV0I.hh:507
virtual Bool_t bad() const
Test whether either daughter is bad.
Definition: StV0I.hh:275