]>
Commit | Line | Data |
---|---|---|
f7f33dec | 1 | #ifndef ALITPCCALIBCOSMIC_H |
2 | #define ALITPCCALIBCOSMIC_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | #include "AliTPCcalibBase.h" | |
3326b323 | 8 | class TH2F; |
f7f33dec | 9 | class TH1F; |
f7f33dec | 10 | class TList; |
11 | class AliESDEvent; | |
54b76c13 | 12 | class AliESDtrack; |
91fd44c9 | 13 | class THnSparse; |
f7f33dec | 14 | |
f7f33dec | 15 | class AliTPCcalibCosmic:public AliTPCcalibBase { |
16 | public: | |
17 | AliTPCcalibCosmic(); | |
18 | AliTPCcalibCosmic(const Text_t *name, const Text_t *title); | |
19 | virtual ~AliTPCcalibCosmic(); | |
20 | ||
54b76c13 | 21 | virtual void Process(AliESDEvent *event); |
3326b323 | 22 | virtual Long64_t Merge(TCollection *const li); |
91fd44c9 | 23 | void Add(const AliTPCcalibCosmic* cosmic); |
54b76c13 | 24 | // |
860b3d93 | 25 | // |
91fd44c9 | 26 | void Init(); |
236f5592 | 27 | void FindPairs(const AliESDEvent *event); |
28 | void FindCosmicPairs(const AliESDEvent * event); | |
76c58ee2 | 29 | |
236f5592 | 30 | Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1) const; |
54b76c13 | 31 | static void CalculateBetheParams(TH2F *hist, Double_t * initialParam); |
32 | static Double_t CalculateMIPvalue(TH1F * hist); | |
860b3d93 | 33 | AliExternalTrackParam *MakeTrack(const AliExternalTrackParam *track0, const AliExternalTrackParam *track1); |
15e48021 | 34 | AliExternalTrackParam *MakeCombinedTrack(const AliExternalTrackParam *track0, const AliExternalTrackParam *track1); |
35 | ||
860b3d93 | 36 | void UpdateTrack(AliExternalTrackParam &track0, const AliExternalTrackParam &track1); |
91fd44c9 | 37 | // |
76c58ee2 | 38 | void FillHistoPerformance(const AliExternalTrackParam *par0, const AliExternalTrackParam *par1, const AliExternalTrackParam *inner0, const AliExternalTrackParam *inner1, AliTPCseed *seed0, AliTPCseed *seed1, const AliExternalTrackParam *param0Combined, Int_t cross); |
76c58ee2 | 39 | static void MakeFitTree(TTree * treeInput, TTreeSRedirector *pcstream, const TObjArray * corrArray, Int_t step, Int_t run); |
40 | TTree * GetCosmicTree() const {return fCosmicTree;} | |
54b76c13 | 41 | // |
76273318 | 42 | TH1F * GetHistNTracks() const {return fHistNTracks;}; |
43 | TH1F * GetHistClusters() const {return fClusters;}; | |
44 | TH2F * GetHistAcorde()const {return fModules;}; | |
45 | TH1F * GetHistPt() const {return fHistPt;}; | |
46 | TH2F * GetHistDeDx() const {return fDeDx;}; | |
47 | TH1F * GetHistMIP() const {return fDeDxMIP;}; | |
54b76c13 | 48 | // |
76273318 | 49 | Double_t GetMIPvalue()const {return fMIPvalue;}; |
54b76c13 | 50 | // |
3326b323 | 51 | static void BinLogX(TH1 *const h); // method for correct histogram binning |
52 | static void BinLogX(THnSparse *const h, Int_t axisDim); // method for correct histogram binning | |
54b76c13 | 53 | |
3326b323 | 54 | void Process(AliESDtrack *const track, Int_t runNo=-1) {AliTPCcalibBase::Process(track,runNo);}; |
55 | void Process(AliTPCseed *const track) {return AliTPCcalibBase::Process(track);} | |
76c58ee2 | 56 | virtual void Terminate(); |
57 | static Double_t GetDeltaTime(Double_t rmin0, Double_t rmax0, Double_t rmin1, Double_t rmax1, Double_t tmin0, Double_t tmax0, Double_t tmin1, Double_t tmax1, Double_t dcaR, TVectorD& vectorDT); | |
0b736a46 | 58 | public: |
91fd44c9 | 59 | // |
60 | // Performance histograms | |
61 | // | |
62 | THnSparse *fHistoDelta[6]; // histograms of tracking performance delta | |
63 | THnSparse *fHistoPull[6]; // histograms of tracking performance pull | |
8a92e133 | 64 | THnSparse *fHistodEdxMax[4]; // histograms of dEdx perfomance - max charge |
65 | THnSparse *fHistodEdxTot[4]; // histograms of dEdx perfomance - tot charge | |
76c58ee2 | 66 | static void AddTree(TTree* treeOutput, TTree * treeInput); |
54b76c13 | 67 | private: |
91fd44c9 | 68 | |
54b76c13 | 69 | void FillAcordeHist(AliESDtrack *upperTrack); |
70 | ||
91fd44c9 | 71 | |
72 | ||
54b76c13 | 73 | TH1F *fHistNTracks; // histogram showing number of ESD tracks per event |
74 | TH1F *fClusters; // histogram showing the number of clusters per track | |
75 | TH2F *fModules; // 2d histogram of tracks which are propagated to the ACORDE scintillator array | |
76 | TH1F *fHistPt; // Pt histogram of reconstructed tracks | |
77 | TH2F *fDeDx; // dEdx spectrum showing the different particle types | |
78 | TH1F *fDeDxMIP; // TPC signal close to the MIP region of muons 0.4 < p < 0.45 GeV | |
79 | ||
80 | Double_t fMIPvalue; // MIP value calculated via a fit to fDeDxMIP | |
108953e9 | 81 | // |
9b27d39b | 82 | // cuts |
83 | // | |
84 | Float_t fCutMaxD; // maximal distance in rfi ditection | |
a6dc0cf6 | 85 | Float_t fCutMaxDz; // maximal distance in z ditection |
9b27d39b | 86 | Float_t fCutTheta; // maximal distance in theta ditection |
87 | Float_t fCutMinDir; // direction vector products | |
54b76c13 | 88 | |
76c58ee2 | 89 | TTree *fCosmicTree; // tree with the cosmic tracks |
f7f33dec | 90 | AliTPCcalibCosmic(const AliTPCcalibCosmic&); |
91 | AliTPCcalibCosmic& operator=(const AliTPCcalibCosmic&); | |
92 | ||
76c58ee2 | 93 | ClassDef(AliTPCcalibCosmic, 3); |
f7f33dec | 94 | }; |
95 | ||
96 | #endif | |
97 |