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