1 #ifndef ALIMULTIPLICITY_H 2 #define ALIMULTIPLICITY_H 19 AliMultiplicity(Int_t ntr,Float_t *th, Float_t *ph, Float_t *dth, Float_t *dph, Int_t *labels,
20 Int_t* labelsL2, Int_t ns, Float_t *ts, Float_t *ps, Int_t *labelss, Short_t nfcL1, Short_t nfcL2,
const TBits &
fFastOrFiredChips);
21 AliMultiplicity(Int_t ntr, Int_t ns, Short_t nfcL1, Short_t nfcL2,
const TBits & fFastOr);
24 virtual void Copy(TObject &obj)
const;
25 virtual void Clear(Option_t* opt=
"");
39 Error(
"GetTheta",
"Invalid track number %d",i);
return -9999.;
41 virtual Double_t
GetPhi(Int_t i)
const {
43 Error(
"GetPhi",
"Invalid track number %d",i);
return -9999.;
47 Error(
"GetDeltaPhi",
"Invalid track number %d",i);
return -9999.;
49 virtual Int_t
GetLabel(Int_t i, Int_t layer)
const;
50 virtual void SetLabel(Int_t i, Int_t layer, Int_t label);
54 virtual Double_t*
GetPhi()
const {
return (Double_t*)
fPhi;}
59 virtual void Print(Option_t *opt=
"")
const;
65 Error(
"GetDeltaTheta",
"DeltaTheta not available in data or Invalid track number %d(max %d)",i,
fNtracks);
return -9999.;
89 Error(
"GetThetaSingle",
"Invalid cluster number %d",i);
return -9999.;
94 if (!
AreSPD2SinglesStored()) {Error(
"GetThetaSingle",
"Invalid cluster number %d for lr %d",i,lr);
return -9999.;}
98 Error(
"GetThetaSingle",
"Invalid cluster number %d",i);
return -9999.;
103 Error(
"GetPhisingle",
"Invalid cluster number %d",i);
return -9999.;
108 if (!
AreSPD2SinglesStored()) {Error(
"GetPhiSingle",
"Invalid cluster number %d for lr %d",i,lr);
return -9999.;}
112 Error(
"GetPhisingle",
"Invalid cluster number %d",i);
return -9999.;
150 void SetTrackletData(Int_t
id,
const Float_t* tlet, UInt_t trSPD1=0, UInt_t trSPD2=0);
204 }
else if (layer == 1) {
208 Warning(
"GetLabel",
"No information for layer 2 available !");
212 Error(
"GetLabel",
"Invalid layer number %d",layer);
return -9999;
215 Error(
"GetLabel",
"Invalid track number %d",i);
return -9999;
225 Error(
"GetLabelSingle",
"Invalid cluster number %d",i);
return -9999;
239 double sinTI = TMath::Sin(
fTh[i]-dtheta/2);
241 dtheta /= sinTI>1.e-6 ? sinTI : 1.e-6;
void SetLabelSingle(Int_t i, Int_t label)
Bool_t AreSPD2SinglesStored() const
virtual void Copy(TObject &obj) const
virtual Int_t * GetLabels2() const
void SetSingleClusterData(Int_t id, const Float_t *scl, UInt_t tr=0)
Int_t GetLabelSingle(Int_t i) const
virtual Double_t * GetPhi() const
Bool_t FreeSingleCluster(Int_t i, Int_t mode) const
Float_t GetDPhiShift() const
Bool_t GetMultTrackRefs() const
Int_t GetLabelSingleLr(Int_t i, Int_t layer) const
Float_t GetDThetaWindow2() const
void AttachCluster2TrackRefs(AliRefArray *l1t1, AliRefArray *l1t2)
Bool_t FreeClustersTracklet(Int_t i, Int_t mode) const
virtual Short_t GetNumberOfFiredChips(Int_t layer) const
Double_t GetThetaSingleLr(Int_t i, Int_t lr) const
Double_t GetPhiSingleLr(Int_t i, Int_t lr) const
Float_t GetNStdDev() const
virtual Int_t GetLabel(Int_t i, Int_t layer) const
virtual const TBits & GetFastOrFiredChips() const
AliRefArray * fTCl2Tracks[2][2]
virtual Double_t * GetDeltPhi() const
virtual ~AliMultiplicity()
Double_t CalcDist(Int_t it) const
void SetMultTrackRefs(Bool_t v)
Double_t GetThetaSingle(Int_t i) const
void SetScaleDThetaBySin2T(Bool_t v)
Bool_t GetScaleDThetaBySin2T() const
virtual Bool_t TestFastOrFiredChips(UInt_t chipKey) const
void SetSPD2SinglesStored(Bool_t v=kTRUE)
Bool_t GetTrackletTrackIDs(Int_t i, Int_t mode, Int_t &spd1, Int_t &spd2) const
Int_t GetSingleClusterTrackIDs(Int_t i, Int_t mode, UInt_t *refs, UInt_t maxRef) const
Float_t GetPhiAll(int icl, int lr) const
Double_t GetDeltaTheta(Int_t i) const
Int_t * GetLabelsSingle() const
void SetTrackletData(Int_t id, const Float_t *tlet, UInt_t trSPD1=0, UInt_t trSPD2=0)
Double_t * GetThetaSingle() const
virtual Double_t GetTheta(Int_t i) const
virtual void SetFastOrFiredChipMap(const TBits &fochips)
virtual void Print(Option_t *opt="") const
Int_t SetNumberOfSingleClustersSPD2(Int_t n)
virtual Int_t * GetLabels() const
virtual void SetFastOrFiredChips(UInt_t chipKey)
UInt_t GetNumberOfITSClusters(Int_t layer) const
virtual Double_t * GetTheta() const
AliRefArray * fSCl2Tracks[2]
Int_t GetTrackletTrackIDsLay(Int_t lr, Int_t i, Int_t mode, UInt_t *refs, UInt_t maxRef) const
virtual Double_t GetDeltaPhi(Int_t i) const
Int_t GetLabelAll(int icl, int lr) const
virtual void SetFiredChipMap(const TBits &firedChips)
virtual void SetFiredChips(Int_t layer, Short_t firedChips)
virtual void Clear(Option_t *opt="")
virtual void SetITSClusters(Int_t layer, UInt_t clusters)
Double_t * GetDeltTheta() const
void SetDPhiWindow2(Float_t v=-1)
virtual void SetNumberOfTracklets(Int_t tr)
Float_t GetThetaAll(int icl, int lr) const
Double_t GetPhiSingle(Int_t i) const
virtual Double_t GetPhi(Int_t i) const
virtual Bool_t TestFiredChipMap(UInt_t chipKey) const
Float_t GetDPhiWindow2() const
Int_t GetNumberOfSingleClustersLr(Int_t lr) const
virtual void SetLabel(Int_t i, Int_t layer, Int_t label)
Bool_t GetSingleClusterTrackID(Int_t i, Int_t mode, Int_t &tr) const
void Duplicate(const AliMultiplicity &m)
UInt_t GetNumberOfSPDClusters() const
void AttachTracklet2TrackRefs(AliRefArray *l1t1, AliRefArray *l1t2, AliRefArray *l2t1, AliRefArray *l2t2)
AliMultiplicity & operator=(const AliMultiplicity &m)
virtual const TBits & GetFiredChipMap() const
void SetDPhiShift(Float_t v=-1)
void SetDThetaWindow2(Float_t v=-1)
Double_t * GetPhiSingle() const
Int_t GetNumberOfSingleClusters() const
virtual void SetFiredChipMap(UInt_t chipKey)
virtual Int_t GetNumberOfTracklets() const
void SetNStdDev(Float_t v=1)