AliPhysics  8dc8609 (8dc8609)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliTrackComparison.h
Go to the documentation of this file.
1 #ifndef ALITRACKCOMPARISON_H
2 #define ALITRACKCOMPARISON_H
3 
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 //-------------------------------------------------------------------
7 // Base class to test the extrapolation performance from TPC to outer
8 // detectors. Several member functions AddTracks() with different
9 // arguments can be called to execute extrapolation and several
10 // THnSparse are filled with residuls and basic track information
11 //
12 // Anthor: R.Ma, M.Ivanov 02/04/2011
13 //--------------------------------------------------------------------
14 
15 #include "TNamed.h"
16 #include "TMatrixDfwd.h"
17 class THnSparse;
18 class TCollection;
19 class AliExternalTrackParam;
20 class AliTrackPointArray;
21 class AliTrackPoint;
22 class TParticle;
23 class AliTrackReference;
24 class TObjArray;
25 class TTreeSRedirector;
26 
27 class AliTrackComparison:public TNamed {
28 public:
30  AliTrackComparison(const Text_t *name, const Text_t *title);
33  virtual ~AliTrackComparison();
34  //Make histograms
35  void Init();
36 
37  //Main process functions
38  Int_t AddTracks(AliExternalTrackParam *param0, AliExternalTrackParam *param1, Double_t mass);
39  Int_t AddTracks(AliTrackReference *ref0, AliTrackReference *ref1, Double_t mass, Int_t charge);
40  Int_t AddTracks(AliExternalTrackParam *param0, AliTrackPoint *point1, Double_t mass, Double_t energy, Double_t *vxyz);
41  AliExternalTrackParam *MakeTrack(const AliTrackReference *ref, Int_t charge);
42  Bool_t PropagateToPoint(AliExternalTrackParam *param0,AliExternalTrackParam *param1, Double_t mass);
43 
44  //Set the step used in extrapolatoin
45  void SetStep(Double_t step){fStep=step;}
46 
47  //Set the range of the first bins of the THnSparse
48  void SetRangeDY(Double_t lowBinDY, Double_t upBinDY) {fLowBinDY=lowBinDY,fUpBinDY=upBinDY;}
49  void SetRangeDZ(Double_t lowBinDZ, Double_t upBinDZ) {fLowBinDZ=lowBinDZ,fUpBinDZ=upBinDZ;}
50  void SetRangeDSnp(Double_t lowBinDSnp, Double_t upBinDSnp){fLowBinDSnp=lowBinDSnp;fUpBinDSnp=upBinDSnp;}
51  void SetRangeDTheta(Double_t lowBinDTheta, Double_t upBinDTheta) {fLowBinDTheta=lowBinDTheta;fUpBinDTheta=upBinDTheta;}
52  void SetRange1Pt(Double_t lowBin1Pt, Double_t upBin1Pt) {fLowBin1Pt=lowBin1Pt;fUpBin1Pt=upBin1Pt;}
53  void SetRange1PtLoss(Double_t lowBin1PtLoss, Double_t upBin1PtLoss) {fLowBin1PtLoss=lowBin1PtLoss;fUpBin1PtLoss=upBin1PtLoss;}
54 
55 
56  //Set number of bins
57  void SetNBins(Int_t nBinsDY, Int_t nBinsDZ, Int_t nBinsDSnp, Int_t nBinsDTheta, Int_t nBins1Pt, Int_t nBins1PtLoss)
58  {
59  fNBinsDY=nBinsDY;
60  fNBinsDZ=nBinsDZ;
61  fNBinsDSnp=nBinsDSnp;
62  fNBinsDTheta=nBinsDTheta;
63  fNBins1Pt=nBins1Pt;
64  fNBins1PtLoss=nBins1PtLoss;
65  }
66 
67 
68  //Set the layer ID of the detectors. Refer to AliGeomManager.h
69  void SetLayerID(Double_t layerID) {fLayerID=layerID;}
70 
71  //Set the flag to fill all the THnSparse's. By default it is kTURE
72  void SetFillAll(Bool_t fillAll) {fFillAll=fillAll;}
73 
74  //Fill the THnSparse
75  void FillHistos(AliExternalTrackParam *param0, AliExternalTrackParam *param1, Double_t tr1Pt);
76 
77  //Getter
78  THnSparse *GetHnSparse(Int_t index) {return fResolHisto[index];}
79 
80  //Used to redirect the output THnSparse into TTreeSRedirector
81  void MakeDistortionMap(Double_t refX, Int_t type);
82 
83  //Set number of bins used to combine statistics
84  void SetNCombineBin(Int_t nCombineBin) {fNCombineBin=nCombineBin;}
85 
86  virtual Long64_t Merge(TCollection *const li);
87  virtual void Add(AliTrackComparison *const comp);
88  void Analyze(); //Not implemented
89 
90 protected:
91  void MakeHistos(); //Initialize all the THnSparse
92  Double_t fStep; //Step used in extrapolation
93  Double_t fLowBinDY; //First bin of residual in Y
94  Double_t fUpBinDY; //Last bin of residual in Y
95  Double_t fLowBinDZ; //First bin of residual in Z
96  Double_t fUpBinDZ; //Last bin of residual in Z
97  Double_t fLowBinDSnp; //First bin of residual in sin(phi)
98  Double_t fUpBinDSnp; //Last bin of residual in sin(phi)
99  Double_t fLowBinDTheta; //First bin of residual in Theta
100  Double_t fUpBinDTheta; //Last bin of residual in Theta
101  Double_t fLowBin1Pt; //First bin of residual in 1/pT
102  Double_t fUpBin1Pt; //Last bin of residual in 1/pT
103  Double_t fLowBin1PtLoss; //First bin of corrected energy loss
104  Double_t fUpBin1PtLoss; //Last bin of corrected energy loss
105  Int_t fNBinsDY; //NBins of residual in Y
106  Int_t fNBinsDZ; //NBins of residual in Z
107  Int_t fNBinsDSnp; //NBins of residual in sin(phi)
108  Int_t fNBinsDTheta; //NBins of residual in Theta
109  Int_t fNBins1Pt; //NBins of residual in 1/pT
110  Int_t fNBins1PtLoss; //NBins of corrected energy loss
111  Double_t fLayerID; //Detector layer ID
112  Bool_t fFillAll; //Flag to fill all the THnSparse
113  Int_t fNCombineBin; //Number of bins used to combine statistics in MakeDistortionMap()
114 
115  THnSparse *fResolHisto[6];//Output THnSparse
116 
117  ClassDef(AliTrackComparison, 4);
118 };
119 
120 #endif
121 
122 
Int_t charge
THnSparse * GetHnSparse(Int_t index)
double Double_t
Definition: External.C:58
const char * title
Definition: MakeQAPdf.C:27
virtual Long64_t Merge(TCollection *const li)
long long Long64_t
Definition: External.C:43
Double_t mass
energy
Definition: HFPtSpectrum.C:44
void SetRange1Pt(Double_t lowBin1Pt, Double_t upBin1Pt)
void SetRangeDSnp(Double_t lowBinDSnp, Double_t upBinDSnp)
Int_t AddTracks(AliExternalTrackParam *param0, AliExternalTrackParam *param1, Double_t mass)
void SetLayerID(Double_t layerID)
int Int_t
Definition: External.C:63
AliTrackComparison & operator=(const AliTrackComparison &comp)
void SetRangeDY(Double_t lowBinDY, Double_t upBinDY)
AliExternalTrackParam * MakeTrack(const AliTrackReference *ref, Int_t charge)
void SetRangeDTheta(Double_t lowBinDTheta, Double_t upBinDTheta)
void SetRangeDZ(Double_t lowBinDZ, Double_t upBinDZ)
Bool_t PropagateToPoint(AliExternalTrackParam *param0, AliExternalTrackParam *param1, Double_t mass)
void SetNCombineBin(Int_t nCombineBin)
void SetStep(Double_t step)
void SetNBins(Int_t nBinsDY, Int_t nBinsDZ, Int_t nBinsDSnp, Int_t nBinsDTheta, Int_t nBins1Pt, Int_t nBins1PtLoss)
void FillHistos(AliExternalTrackParam *param0, AliExternalTrackParam *param1, Double_t tr1Pt)
void MakeDistortionMap(Double_t refX, Int_t type)
virtual void Add(AliTrackComparison *const comp)
void SetRange1PtLoss(Double_t lowBin1PtLoss, Double_t upBin1PtLoss)
bool Bool_t
Definition: External.C:53
THnSparse * fResolHisto[6]
void SetFillAll(Bool_t fillAll)