]>
Commit | Line | Data |
---|---|---|
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" | |
8 | class TH2F; | |
9 | class TH1F; | |
10 | class TList; | |
11 | class AliESDEvent; | |
12 | class AliESDtrack; | |
13 | class THnSparse; | |
14 | ||
15 | class AliTPCcalibCosmic:public AliTPCcalibBase { | |
16 | public: | |
17 | AliTPCcalibCosmic(); | |
18 | AliTPCcalibCosmic(const Text_t *name, const Text_t *title); | |
19 | virtual ~AliTPCcalibCosmic(); | |
20 | ||
21 | virtual void Process(AliESDEvent *event); | |
22 | virtual Long64_t Merge(TCollection *const li); | |
23 | virtual void Analyze(); | |
24 | void Add(const AliTPCcalibCosmic* cosmic); | |
25 | // | |
26 | // | |
27 | void Init(); | |
28 | void FindPairs(AliESDEvent *event); | |
29 | Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1); | |
30 | static void CalculateBetheParams(TH2F *hist, Double_t * initialParam); | |
31 | static Double_t CalculateMIPvalue(TH1F * hist); | |
32 | AliExternalTrackParam *MakeTrack(const AliExternalTrackParam *track0, const AliExternalTrackParam *track1); | |
33 | AliExternalTrackParam *MakeCombinedTrack(const AliExternalTrackParam *track0, const AliExternalTrackParam *track1); | |
34 | ||
35 | void UpdateTrack(AliExternalTrackParam &track0, const AliExternalTrackParam &track1); | |
36 | // | |
37 | void FillHistoPerformance(const AliExternalTrackParam *par0, const AliExternalTrackParam *par1, const AliExternalTrackParam *inner0, const AliExternalTrackParam *inner1, AliTPCseed *seed0, AliTPCseed *seed1, const AliExternalTrackParam *param0Combined); | |
38 | void MaterialBudgetDump(AliExternalTrackParam *const par0, AliExternalTrackParam *const par1, const AliExternalTrackParam *inner0, const AliExternalTrackParam *inner1, AliTPCseed *const seed0, AliTPCseed *const seed1, AliExternalTrackParam *const param0Combined, AliExternalTrackParam *const param1Combined); | |
39 | ||
40 | ||
41 | // | |
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;}; | |
48 | // | |
49 | Double_t GetMIPvalue()const {return fMIPvalue;}; | |
50 | // | |
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 | |
53 | ||
54 | void Process(AliESDtrack *const track, Int_t runNo=-1) {AliTPCcalibBase::Process(track,runNo);}; | |
55 | void Process(AliTPCseed *const track) {return AliTPCcalibBase::Process(track);} | |
56 | ||
57 | public: | |
58 | // | |
59 | // Performance histograms | |
60 | // | |
61 | THnSparse *fHistoDelta[6]; // histograms of tracking performance delta | |
62 | THnSparse *fHistoPull[6]; // histograms of tracking performance pull | |
63 | THnSparse *fHistodEdxMax[4]; // histograms of dEdx perfomance - max charge | |
64 | THnSparse *fHistodEdxTot[4]; // histograms of dEdx perfomance - tot charge | |
65 | ||
66 | private: | |
67 | ||
68 | void FillAcordeHist(AliESDtrack *upperTrack); | |
69 | ||
70 | ||
71 | ||
72 | TH1F *fHistNTracks; // histogram showing number of ESD tracks per event | |
73 | TH1F *fClusters; // histogram showing the number of clusters per track | |
74 | TH2F *fModules; // 2d histogram of tracks which are propagated to the ACORDE scintillator array | |
75 | TH1F *fHistPt; // Pt histogram of reconstructed tracks | |
76 | TH2F *fDeDx; // dEdx spectrum showing the different particle types | |
77 | TH1F *fDeDxMIP; // TPC signal close to the MIP region of muons 0.4 < p < 0.45 GeV | |
78 | ||
79 | Double_t fMIPvalue; // MIP value calculated via a fit to fDeDxMIP | |
80 | // | |
81 | // cuts | |
82 | // | |
83 | Float_t fCutMaxD; // maximal distance in rfi ditection | |
84 | Float_t fCutMaxDz; // maximal distance in z ditection | |
85 | Float_t fCutTheta; // maximal distance in theta ditection | |
86 | Float_t fCutMinDir; // direction vector products | |
87 | ||
88 | AliTPCcalibCosmic(const AliTPCcalibCosmic&); | |
89 | AliTPCcalibCosmic& operator=(const AliTPCcalibCosmic&); | |
90 | ||
91 | ClassDef(AliTPCcalibCosmic, 2); | |
92 | }; | |
93 | ||
94 | #endif | |
95 |