X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCcalibCosmic.h;h=9b9711262ce8b354b0ddfc15ecbc3e28776d501f;hb=30cdc1783f9669381a8046501737c5dda150bad1;hp=ffca65ad10fcdb66fef870df1cc2386684c8e9dc;hpb=860b3d93f30e1863d30494d296ce91136615e2ae;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCcalibCosmic.h b/TPC/AliTPCcalibCosmic.h index ffca65ad10f..9b9711262ce 100644 --- a/TPC/AliTPCcalibCosmic.h +++ b/TPC/AliTPCcalibCosmic.h @@ -5,16 +5,12 @@ * See cxx source for full Copyright notice */ #include "AliTPCcalibBase.h" -#include "AliTPCCalPad.h" -#include "TH2F.h" +class TH2F; class TH1F; class TList; class AliESDEvent; class AliESDtrack; -class AliExternalComparison; - -#include "TTreeStream.h" - +class THnSparse; class AliTPCcalibCosmic:public AliTPCcalibBase { public: @@ -23,39 +19,57 @@ public: virtual ~AliTPCcalibCosmic(); virtual void Process(AliESDEvent *event); - virtual Long64_t Merge(TCollection *li); - virtual void Analyze(); + virtual Long64_t Merge(TCollection *const li); + void Add(const AliTPCcalibCosmic* cosmic); // - void ProcessTree(TTree * tree, AliExternalComparison *comp=0); // - void FindPairs(AliESDEvent *event); - Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1); - void SetGainMap(AliTPCCalPad *GainMap){fGainMap = GainMap;}; + void Init(); + void FindPairs(const AliESDEvent *event); + void FindCosmicPairs(const AliESDEvent * event); + + Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1) const; static void CalculateBetheParams(TH2F *hist, Double_t * initialParam); static Double_t CalculateMIPvalue(TH1F * hist); - AliExternalTrackParam *Invert(AliExternalTrackParam *input); AliExternalTrackParam *MakeTrack(const AliExternalTrackParam *track0, const AliExternalTrackParam *track1); + AliExternalTrackParam *MakeCombinedTrack(const AliExternalTrackParam *track0, const AliExternalTrackParam *track1); + void UpdateTrack(AliExternalTrackParam &track0, const AliExternalTrackParam &track1); // - TH1F * GetHistNTracks(){return fHistNTracks;}; - TH1F * GetHistClusters(){return fClusters;}; - TH2F * GetHistAcorde(){return fModules;}; - TH1F * GetHistPt(){return fHistPt;}; - TH2F * GetHistDeDx(){return fDeDx;}; - TH1F * GetHistMIP(){return fDeDxMIP;}; + void FillHistoPerformance(const AliExternalTrackParam *par0, const AliExternalTrackParam *par1, const AliExternalTrackParam *inner0, const AliExternalTrackParam *inner1, AliTPCseed *seed0, AliTPCseed *seed1, const AliExternalTrackParam *param0Combined, Int_t cross); + static void MakeFitTree(TTree * treeInput, TTreeSRedirector *pcstream, const TObjArray * corrArray, Int_t step, Int_t run); + TTree * GetCosmicTree() const {return fCosmicTree;} // - Double_t GetMIPvalue(){return fMIPvalue;}; + TH1F * GetHistNTracks() const {return fHistNTracks;}; + TH1F * GetHistClusters() const {return fClusters;}; + TH2F * GetHistAcorde()const {return fModules;}; + TH1F * GetHistPt() const {return fHistPt;}; + TH2F * GetHistDeDx() const {return fDeDx;}; + TH1F * GetHistMIP() const {return fDeDxMIP;}; // - static void BinLogX(TH1 * h); // method for correct histogram binning - - void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}; - void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);} + Double_t GetMIPvalue()const {return fMIPvalue;}; + // + static void BinLogX(TH1 *const h); // method for correct histogram binning + static void BinLogX(THnSparse *const h, Int_t axisDim); // method for correct histogram binning + void Process(AliESDtrack *const track, Int_t runNo=-1) {AliTPCcalibBase::Process(track,runNo);}; + void Process(AliTPCseed *const track) {return AliTPCcalibBase::Process(track);} + virtual void Terminate(); + 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); +public: + // + // Performance histograms + // + THnSparse *fHistoDelta[6]; // histograms of tracking performance delta + THnSparse *fHistoPull[6]; // histograms of tracking performance pull + THnSparse *fHistodEdxMax[4]; // histograms of dEdx perfomance - max charge + THnSparse *fHistodEdxTot[4]; // histograms of dEdx perfomance - tot charge + static void AddTree(TTree* treeOutput, TTree * treeInput); private: - + void FillAcordeHist(AliESDtrack *upperTrack); - AliTPCCalPad *fGainMap; // gain map from Krypton calibration + + TH1F *fHistNTracks; // histogram showing number of ESD tracks per event TH1F *fClusters; // histogram showing the number of clusters per track TH2F *fModules; // 2d histogram of tracks which are propagated to the ACORDE scintillator array @@ -72,10 +86,11 @@ private: Float_t fCutTheta; // maximal distance in theta ditection Float_t fCutMinDir; // direction vector products + TTree *fCosmicTree; // tree with the cosmic tracks AliTPCcalibCosmic(const AliTPCcalibCosmic&); AliTPCcalibCosmic& operator=(const AliTPCcalibCosmic&); - ClassDef(AliTPCcalibCosmic, 1); + ClassDef(AliTPCcalibCosmic, 3); }; #endif