AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONTrackLight.h
Go to the documentation of this file.
1 #ifndef ALIMUONTRACKLIGHT_H
2 #define ALIMUONTRACKLIGHT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /* $Id$ */
7 // Revision of includes 06/09/2006
8 
24 
25 // ROOT classes
26 #include "TLorentzVector.h"
27 
28 class AliMUONTrack;
29 class AliESDMuonTrack;
30 class AliStack;
31 class TParticle;
32 class AliMUONVTrackStore;
33 
34 class AliMUONTrackLight : public TObject {
35  public:
37  AliMUONTrackLight(AliESDMuonTrack* muonTrack);
38  AliMUONTrackLight(const AliMUONTrackLight &muonCopy);
40  virtual ~AliMUONTrackLight();
41 
43  void SetPGen(TLorentzVector pgen) {fPgen = pgen;}
45  TLorentzVector GetPGen() const {return fPgen;}
47  void SetPRec(TLorentzVector prec) {fPrec = prec;}
49  TLorentzVector GetPRec() const {return fPrec;}
51  void SetVertex(Double_t *xyz) {for (Int_t i=0; i<3; i++) fXYZ[i]=xyz[i];}
53  Double_t GetX() const { return fXYZ[0]; }
55  Double_t GetY() const { return fXYZ[1]; }
57  Double_t GetZ() const { return fXYZ[2]; }
59  Double_t* GetVertex() { return fXYZ; }
61  void SetChi2(Double_t chi2) {fChi2=chi2;}
63  Double_t GetChi2() const { return fChi2; }
65  void SetWeight(Double_t w) {fWeight=w;}
67  Double_t GetWeight() const { return fWeight; }
68 
70  void SetCharge(Int_t charge) {fCharge = charge;}
72  Int_t GetCharge() const {return fCharge;}
74  Int_t GetParentPDGCode(Int_t index = 0) const { return fParentPDGCode[index]; }
76  Int_t GetParentPythiaLine(Int_t index = 0) const { return fParentPythiaLine[index]; }
78  Int_t GetQuarkPDGCode(Int_t index = 0) const { return fQuarkPDGCode[index]; }
80  Int_t GetQuarkPythiaLine(Int_t index = 0) const { return fQuarkPythiaLine[index]; }
82  Int_t GetTrackPythiaLine() const {return fTrackPythiaLine;}
84  Int_t GetTrackPDGCode() const {return fTrackPDGCode;}
86  void SetTrackPythiaLine(Int_t trackLine) {fTrackPythiaLine = trackLine;}
88  void SetTrackPDGCode(Int_t trackPdg) {fTrackPDGCode = trackPdg;}
89  void FillFromESD(AliESDMuonTrack* muonTrack, Double_t zvert=-9999);
90  void FillFromAliMUONTrack(AliMUONTrack *trackReco,Double_t zvert=-9999);
92  Bool_t IsAMuon() const { return (TMath::Abs(fTrackPDGCode)==13); }
93  Bool_t IsParentPionOrKaon(Int_t idParent = 0);
94  void SetPxPyPz(Double_t px, Double_t py, Double_t pz);
96  void SetTriggered(Bool_t isTriggered) { fIsTriggered = isTriggered; }
98  Bool_t IsTriggered() const { return fIsTriggered; }
100  Int_t GetNParents() const {return fNParents;}
101  void FillMuonHistory(AliStack *stack, TParticle *part);
102  Bool_t IsB0(Int_t intTest) const;//checks if the provided PDG code corresponds to a neutral B meson
103  Bool_t IsMotherAResonance(Int_t index=0) const;
105  Bool_t GetOscillation() const {return fOscillation;}
106  virtual void PrintInfo(const Option_t* opt); //"H" muon's decay history
107  //"K" muon kinematics
108  //"A" all variables
109  Int_t GetParentFlavour(Int_t idParent=0) const;
110  Bool_t IsDiquark(Int_t pdg) const;
111 protected:
112  static const Int_t fgkNParentsMax = 5;
113  TLorentzVector fPrec;
114  Double_t fXYZ[3];
115  Bool_t fIsTriggered;
116  Int_t fCharge;
117  Double_t fChi2;
118  Float_t fCentr;
119  TLorentzVector fPgen;
124  Int_t fQuarkPDGCode[4];
125  Int_t fQuarkPythiaLine[4];
126  Bool_t fOscillation;
127  Int_t fNParents;
128  Double_t fWeight;
129  void SetOscillation(Bool_t oscillation) { fOscillation = oscillation; }
132  void SetParentPDGCode(Int_t index, Int_t pdg);
134  void SetParentPythiaLine(Int_t index, Int_t line);
136  void SetQuarkPDGCode(Int_t index, Int_t pdg);
138  void SetQuarkPythiaLine(Int_t index, Int_t line);
139  void ResetQuarkInfo();
140 
141  ClassDef(AliMUONTrackLight,1)
142 };
143 
144 #endif
Base class of a track container.
void SetPGen(TLorentzVector pgen)
Set 4-momentum of the generated particle.
void FillFromAliMUONTrack(AliMUONTrack *trackReco, Double_t zvert=-9999)
Int_t fTrackPDGCode
pdg code of the rec. track (in general will be a muon)
TLorentzVector fPgen
4-momentum of the generated particle
void SetQuarkPDGCode(Int_t index, Int_t pdg)
Set pdg of the string [0], quarks/gluons [1,2], sometimes proton [3].
Int_t GetQuarkPythiaLine(Int_t index=0) const
Return line of Pythia output for string [0] and quarks [1,2], sometimes proton [3].
Int_t GetNParents() const
Return acually filled no. of fragmented parents.
Bool_t IsB0(Int_t intTest) const
Bool_t IsAMuon() const
Return info if is a muon.
Bool_t IsTriggered() const
Return flag for trigger.
Bool_t GetOscillation() const
Return flag for oscillation.
TLorentzVector GetPRec() const
Return reconstructed 4-momentum.
AliMUONTrackLight & operator=(const AliMUONTrackLight &)
Bool_t fOscillation
flag for oscillation
Bool_t IsDiquark(Int_t pdg) const
void SetTriggered(Bool_t isTriggered)
Set flag for trigger.
Int_t fNParents
acually filled no. of fragmented parents
Double_t GetY() const
Return primary vertex y position from the ITS.
Int_t GetTrackPythiaLine() const
Return line of Pythia output for string [0] and quarks [1,2], sometimes proton [3].
Double_t GetX() const
Return primary vertex x position from the ITS.
Double_t fChi2
chi2 / ndf in the MUON track fit
void SetVertex(Double_t *xyz)
Set primary vertex position from the ITS.
Int_t fQuarkPDGCode[4]
pdg of the string [0], quarks/gluons [1,2], sometimes proton [3]
Int_t fParentPythiaLine[fgkNParentsMax]
line of Pythia output for hadronised parents & grandparents
Int_t fParentPDGCode[fgkNParentsMax]
hadronised parents and grandparents
Int_t GetQuarkPDGCode(Int_t index=0) const
Return pdg of the string [0], quarks/gluons [1,2], sometimes proton [3].
void SetParentPDGCode(Int_t index, Int_t pdg)
Set hadronised parents and grandparents.
void SetCharge(Int_t charge)
Set muon charge.
Double_t chi2
Definition: AnalyzeLaser.C:7
void SetWeight(Double_t w)
Set weight assigned to the muon.
Double_t * GetVertex()
Return primary vertex position from the ITS.
Int_t fTrackPythiaLine
line of kin. stack where rec. track (in general, the muon) is stored
Bool_t IsMotherAResonance(Int_t index=0) const
void SetOscillation(Bool_t oscillation)
Set flag for oscillation.
Double_t GetChi2() const
Return chi2 / ndf in the MUON track fit.
Bool_t IsParentPionOrKaon(Int_t idParent=0)
Float_t fCentr
centrality
Double_t GetWeight() const
Return weight assigned to the muon.
void SetTrackPDGCode(Int_t trackPdg)
Set pdg code of the rec. track (in general will be a muon)
Int_t GetParentFlavour(Int_t idParent=0) const
TLorentzVector fPrec
reconstructed 4-momentum
virtual void PrintInfo(const Option_t *opt)
void SetPRec(TLorentzVector prec)
Set reconstructed 4-momentum.
Compact information for the muon generated tracks.
void SetChi2(Double_t chi2)
Set chi2 / ndf in the MUON track fit.
void SetPxPyPz(Double_t px, Double_t py, Double_t pz)
void FillFromESD(AliESDMuonTrack *muonTrack, Double_t zvert=-9999)
void SetTrackPythiaLine(Int_t trackLine)
Set line of kin. stack where rec. track (in general, the muon) is stored.
Int_t GetCharge() const
Return muon charge.
Int_t fQuarkPythiaLine[4]
line of Pythia output for string [0] and quarks [1,2], sometimes proton [3]
void SetParentPythiaLine(Int_t index, Int_t line)
Set line of Pythia output for hadronised parents & grandparents.
TLorentzVector GetPGen() const
Return 4-momentum of the generated particle.
Int_t fCharge
muon charge
Reconstructed track in ALICE dimuon spectrometer.
Definition: AliMUONTrack.h:24
Double_t fXYZ[3]
primary vertex position from the ITS
Int_t GetParentPDGCode(Int_t index=0) const
Return hadronised parents and grandparents.
void FillMuonHistory(AliStack *stack, TParticle *part)
Int_t GetParentPythiaLine(Int_t index=0) const
Return line of Pythia output for hadronised parents & grandparents.
Int_t GetTrackPDGCode() const
Return pdg code of the rec. track (in general will be a muon)
Double_t GetZ() const
Return primary vertex z position from the ITS.
void SetQuarkPythiaLine(Int_t index, Int_t line)
Set line of Pythia output for string [0] and quarks [1,2], sometimes proton [3].
Bool_t fIsTriggered
flag for trigger
static const Int_t fgkNParentsMax
maximum number of parents