* 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 THnSparse;
-#include "TTreeStream.h"
-
-
class AliTPCcalibCosmic:public AliTPCcalibBase {
public:
AliTPCcalibCosmic();
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 Init();
- void FindPairs(AliESDEvent *event);
- Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1);
+ 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 *MakeTrack(const AliExternalTrackParam *track0, const AliExternalTrackParam *track1);
void UpdateTrack(AliExternalTrackParam &track0, const AliExternalTrackParam &track1);
//
- void FillHistoPerformance(AliExternalTrackParam *par0, AliExternalTrackParam *par1, AliExternalTrackParam *inner0, AliExternalTrackParam *inner1, AliTPCseed *seed0, AliTPCseed *seed1, AliExternalTrackParam *param0Combined);
- void MaterialBudgetDump(AliExternalTrackParam *par0, AliExternalTrackParam *par1, AliExternalTrackParam *inner0, AliExternalTrackParam *inner1, AliTPCseed *seed0, AliTPCseed *seed1, AliExternalTrackParam *param0Combined, AliExternalTrackParam *param1Combined);
-
-
+ 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;}
//
- TH1F * GetHistNTracks(){return fHistNTracks;};
- TH1F * GetHistClusters(){return fClusters;};
- TH2F * GetHistAcorde(){return fModules;};
- TH1F * GetHistPt(){return fHistPt;};
- TH2F * GetHistDeDx(){return fDeDx;};
- TH1F * GetHistMIP(){return fDeDxMIP;};
+ 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;};
//
- Double_t GetMIPvalue(){return fMIPvalue;};
+ Double_t GetMIPvalue()const {return fMIPvalue;};
//
- static void BinLogX(TH1 * h); // method for correct histogram binning
- static void BinLogX(THnSparse * h, Int_t axisDim); // 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);}
-
+ 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 *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);
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, 2);
+ ClassDef(AliTPCcalibCosmic, 3);
};
#endif