1 #ifndef ALIESDMUONTRACK_H 2 #define ALIESDMUONTRACK_H 16 #include <TDatabasePDG.h> 31 virtual void Copy(TObject &obj)
const;
33 virtual void Clear(Option_t* opt =
"");
50 Double_t
GetZ(
void)
const {
return fZ;}
165 Bool_t
PxPyPz(Double_t
p[3])
const { p[0] =
Px(); p[1] =
Py(); p[2] =
Pz();
return kTRUE; }
166 void LorentzP(TLorentzVector& vP)
const;
181 Double_t
Xv()
const {
return -999.;}
182 Double_t
Yv()
const {
return -999.;}
183 Double_t
Zv()
const {
return -999.;}
184 Bool_t
XvYvZv(Double_t x[3])
const { x[0] =
Xv(); x[1] =
Yv(); x[2] =
Zv();
return kTRUE; }
185 Double_t
Pt()
const {
return TMath::Sqrt(
Px()*
Px() +
Py()*
Py()); }
187 Double_t
Phi()
const {
return TMath::Pi()+TMath::ATan2(-
Py(), -
Px()); }
188 Double_t
Theta()
const {
return TMath::ATan2(
Pt(),
Pz()); }
189 Double_t
E()
const {
return TMath::Sqrt(
M()*
M() +
P()*
P()); }
190 Double_t
M()
const {
return TDatabasePDG::Instance()->GetParticle(
"mu-")->Mass(); }
191 Double_t
Eta()
const {
return -TMath::Log(TMath::Tan(0.5 *
Theta()));}
192 Double_t
Y()
const {
return (
Pz()/
E() != 1.) ? TMath::ATanH(
Pz()/
E()) : FLT_MAX; }
197 const Double_t *
PID()
const {
return (Double_t*)0x0; }
230 static void SetFiredChamber(UInt_t& pattern, Int_t cathode, Int_t chamber);
234 static Bool_t
IsChamberHit(UInt_t pattern, Int_t cathode, Int_t chamber);
Int_t LoStripX(void) const
Double_t GetBendingCoor(void) const
Double32_t fInverseBendingMomentumAtDCA
Inverse bending momentum (GeV/c ** -1) times the charge.
void SetLocalTrigger(Int_t locTrig)
Track crosses the same RPC in all planes.
Track is not good for chamber efficiency evaluation.
TArrayI * fClustersId
Array of clusters'Id attached to the track.
Problems in pattern determination since track extrapolation is outside trigger chambers.
void SetThetaXAtDCA(Double_t ThetaX)
Double_t GetNonBendingCoorAtDCA(void) const
Double32_t fCovariances[15]
reduced covariance matrix of parameters AT FIRST CHAMBER
void SetTriggerY1Pattern(UShort_t pat)
Bool_t PxPyPz(Double_t p[3]) const
Double32_t fThetaXUncorrected
Angle of track at vertex in X direction (rad)
Double_t GetThetaY(void) const
Double_t GetBendingCoorAtDCA(void) const
UInt_t GetMuonClusterMap() const
UChar_t GetNHit(void) const
UShort_t fY1Pattern
y-strips pattern in st6/ch1
Class to describe the MUON tracks in the Event Summary Data class.
Double_t GetThetaX(void) const
virtual ~AliESDMuonTrack()
Double32_t fThetaYAtDCA
Angle of track at vertex in Y direction (rad)
UShort_t fY4Pattern
y-strips pattern in st7/ch2
AliESDEvent * GetESDEvent() const
Double32_t fNonBendingCoorUncorrected
non bending coordinate (cm)
void SetTriggerX4Pattern(UShort_t pat)
Double_t PxUncorrected() const
void LorentzPAtDCA(TLorentzVector &vP) const
The pattern was calculated from a tracker track not matching trigger track.
UShort_t fHitsPatternInTrigCh
Word containing info on the hits left in trigger chambers.
void SetInverseBendingMomentum(Double_t InverseBendingMomentum)
virtual void Copy(TObject &obj) const
UShort_t GetTriggerY3Pattern() const
void GetCovariances(TMatrixD &cov) const
void SetTriggerX1Pattern(UShort_t pat)
Double_t GetThetaXAtDCA(void) const
Bool_t IsInMuonClusterMap(Int_t chamber) const
const Double_t * PID() const
Bool_t XvYvZv(Double_t x[3]) const
Double_t GetNormalizedChi2() const
UShort_t GetTriggerX3Pattern() const
UInt_t GetHitsPatternInTrigChTrk() const
Track not good for effciency calculation since it matches masked pads.
UShort_t GetHitsPatternInTrigCh() const
UChar_t fNHit
number of clusters attached to the track
UShort_t fX3Pattern
x-strips pattern in st7/ch1
UShort_t GetTriggerY1Pattern() const
static void AddEffInfo(UInt_t &pattern, Int_t slatOrInfo, Int_t board=0, EAliTriggerChPatternFlag effType=kNoEff)
Add efficiency flag and crossed RPC or info on rejected track.
Bool_t PxPyPzAtDCA(Double_t p[3]) const
void SetBendingCoorAtDCA(Double_t BendingCoor)
Double32_t fRAtAbsorberEnd
transverse position r of the track at the end of the absorber
Track crosses the same board in all planes.
Bool_t ContainTrackerData() const
UShort_t fX2Pattern
x-strips pattern in st6/ch2
void SetChi2(Double_t Chi2)
void SetNonBendingCoorUncorrected(Double_t NonBendingCoor)
UShort_t GetTriggerY4Pattern() const
virtual void Clear(Option_t *opt="")
The RPC cannot be univoquely determined.
Int_t fLabel
point to the corresponding MC track
Int_t LoCircuit(void) const
static Int_t GetSlatOrInfo(UInt_t pattern)
Getting crossed slat or info.
void SetThetaX(Double_t ThetaX)
Double_t PyUncorrected() const
Int_t fLocalTrigger
packed local trigger information
Double_t GetInverseBendingMomentumAtDCA(void) const
void SetThetaY(Double_t ThetaY)
void SetLabel(Int_t label)
Set the corresponding MC track number.
Double_t GetZ(void) const
UShort_t GetTriggerX4Pattern() const
void SetBendingCoorUncorrected(Double_t BendingCoor)
Double32_t fInverseBendingMomentum
Inverse bending momentum (GeV/c ** -1) times the charge.
void SetNonBendingCoor(Double_t NonBendingCoor)
Double_t GetInverseBendingMomentum(void) const
UShort_t fX1Pattern
x-strips pattern in st6/ch1
void SetBendingCoor(Double_t BendingCoor)
void SetTriggerY3Pattern(UShort_t pat)
Double_t GetNonBendingCoorUncorrected(void) const
void SetTriggerY2Pattern(UShort_t pat)
Double32_t fInverseBendingMomentumUncorrected
Inverse bending momentum (GeV/c ** -1) times the charge.
void SetRAtAbsorberEnd(Double_t r)
Double_t PzUncorrected() const
Double_t GetThetaXUncorrected(void) const
Bool_t IsConnected() const
void SetTriggerX3Pattern(UShort_t pat)
UShort_t GetTriggerY2Pattern() const
void SetThetaYUncorrected(Double_t ThetaY)
void SetZUncorrected(Double_t Z)
Double_t GetInverseBendingMomentumUncorrected(void) const
Double_t GetChi2(void) const
void LorentzP(TLorentzVector &vP) const
TClonesArray * fClusters
Array of clusters attached to the track – deprecated.
void SetMuonClusterMap(UInt_t muonClusterMap)
Bool_t PxPyPzUncorrected(Double_t p[3]) const
static Bool_t IsChamberHit(UInt_t pattern, Int_t cathode, Int_t chamber)
Chamber was hit.
Double32_t fThetaXAtDCA
Angle of track at vertex in X direction (rad)
Bool_t MatchTriggerDigits(Bool_t fromTrack) const
Double32_t fChi2MatchTrigger
chi2 of trigger/track matching
Double32_t fBendingCoor
bending coordinate (cm)
Double_t GetNonBendingCoor(void) const
void LorentzPUncorrected(TLorentzVector &vP) const
Int_t LoStripY(void) const
Double_t GetBendingCoorUncorrected(void) const
Int_t GetMatchTrigger() const
Double_t OneOverPt() const
void AddMuonTrigDevSignInfo(UInt_t &pattern) const
Track crosses different RPCs.
Int_t GetLabel() const
Return the corresponding MC track number.
void SetThetaXUncorrected(Double_t ThetaX)
void SetInverseBendingMomentumAtDCA(Double_t InverseBendingMomentum)
UInt_t GetClusterId(Int_t i) const
void SetTriggerX2Pattern(UShort_t pat)
void Connected(Bool_t flag=kTRUE)
Double_t GetThetaYAtDCA(void) const
Double_t GetChi2MatchTrigger() const
UShort_t fX4Pattern
x-strips pattern in st7/ch2
Double_t GetRAtAbsorberEnd() const
Double32_t fZ
Z coordinate (cm)
Double32_t fThetaX
Angle of track at vertex in X direction (rad)
UShort_t GetTriggerX2Pattern() const
Int_t GetTriggerWithoutChamber(void) const
void SetThetaYAtDCA(Double_t ThetaY)
void GetCovarianceXYZPxPyPz(Double_t cov[21]) const
Double32_t fThetaYUncorrected
Angle of track at vertex in Y direction (rad)
void SetESDEvent(AliESDEvent *evt)
Int_t GetMuonTrigDevSign() const
Double32_t fThetaY
Angle of track at vertex in Y direction (rad)
void AddClusterId(UInt_t clusterId)
Track not good for effciency calculation since it matches pads in less than 3/4 chambers.
Double_t GetDCA(void) const
Double_t GetZUncorrected(void) const
static void SetFiredChamber(UInt_t &pattern, Int_t cathode, Int_t chamber)
Set hits pattern.
UShort_t fY3Pattern
y-strips pattern in st7/ch1
Bool_t ContainTriggerData() const
Double_t PUncorrected() const
Track not good for effciency calculation since it matches many pads.
void AddInMuonClusterMap(Int_t chamber)
void SetHitsPatternInTrigChTrk(UInt_t hitsPatternInTrigChTrk)
Double32_t fBendingCoorUncorrected
bending coordinate (cm)
Double32_t fNonBendingCoorAtDCA
non bending coordinate (cm)
void SetChi2MatchTrigger(Double_t Chi2MatchTrigger)
Int_t GetNClusters() const
Double32_t fChi2
chi2 in the MUON track fit
Double_t GetThetaYUncorrected(void) const
void SetTriggerY4Pattern(UShort_t pat)
UShort_t fY2Pattern
y-strips pattern in st6/ch2
Double32_t fBendingCoorAtDCA
bending coordinate (cm)
void SetNonBendingCoorAtDCA(Double_t NonBendingCoor)
static Int_t GetCrossedBoard(UInt_t pattern)
Getting crossed board.
Double32_t fZUncorrected
Z coordinate (cm)
UInt_t fMuonClusterMap
Map of clusters in tracking chambers.
void SetCovariances(const TMatrixD &cov)
void SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh)
static Int_t GetEffFlag(UInt_t pattern)
Get Efficiency flag.
void SetInverseBendingMomentumUncorrected(Double_t InverseBendingMomentum)
UShort_t GetTriggerX1Pattern() const
class TMatrixT< Double_t > TMatrixD
Bool_t TriggerFiredWithoutChamber(Int_t ich) const
AliESDMuonTrack & operator=(const AliESDMuonTrack &esdm)
UInt_t fHitsPatternInTrigChTrk
Trigger hit map from tracker track extrapolation.
void MoveClustersToESD(AliESDEvent &esd)
Double32_t fNonBendingCoor
non bending coordinate (cm)