Constant extrapolation for gain calibration
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibCosmic.h
CommitLineData
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 8class TH2F;
f7f33dec 9class TH1F;
f7f33dec 10class TList;
11class AliESDEvent;
54b76c13 12class AliESDtrack;
91fd44c9 13class THnSparse;
f7f33dec 14
f7f33dec 15class AliTPCcalibCosmic:public AliTPCcalibBase {
16public:
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);
54b76c13 23 virtual void Analyze();
91fd44c9 24 void Add(const AliTPCcalibCosmic* cosmic);
54b76c13 25 //
860b3d93 26 //
91fd44c9 27 void Init();
54b76c13 28 void FindPairs(AliESDEvent *event);
29 Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1);
54b76c13 30 static void CalculateBetheParams(TH2F *hist, Double_t * initialParam);
31 static Double_t CalculateMIPvalue(TH1F * hist);
860b3d93 32 AliExternalTrackParam *MakeTrack(const AliExternalTrackParam *track0, const AliExternalTrackParam *track1);
15e48021 33 AliExternalTrackParam *MakeCombinedTrack(const AliExternalTrackParam *track0, const AliExternalTrackParam *track1);
34
860b3d93 35 void UpdateTrack(AliExternalTrackParam &track0, const AliExternalTrackParam &track1);
91fd44c9 36 //
3326b323 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);
91fd44c9 39
40
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);}
56
0b736a46 57public:
91fd44c9 58 //
59 // Performance histograms
60 //
61 THnSparse *fHistoDelta[6]; // histograms of tracking performance delta
62 THnSparse *fHistoPull[6]; // histograms of tracking performance pull
8a92e133 63 THnSparse *fHistodEdxMax[4]; // histograms of dEdx perfomance - max charge
64 THnSparse *fHistodEdxTot[4]; // histograms of dEdx perfomance - tot charge
54b76c13 65
66private:
91fd44c9 67
54b76c13 68 void FillAcordeHist(AliESDtrack *upperTrack);
69
91fd44c9 70
71
54b76c13 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
108953e9 80 //
9b27d39b 81 // cuts
82 //
83 Float_t fCutMaxD; // maximal distance in rfi ditection
a6dc0cf6 84 Float_t fCutMaxDz; // maximal distance in z ditection
9b27d39b 85 Float_t fCutTheta; // maximal distance in theta ditection
86 Float_t fCutMinDir; // direction vector products
54b76c13 87
f7f33dec 88 AliTPCcalibCosmic(const AliTPCcalibCosmic&);
89 AliTPCcalibCosmic& operator=(const AliTPCcalibCosmic&);
90
8a92e133 91 ClassDef(AliTPCcalibCosmic, 2);
f7f33dec 92};
93
94#endif
95