1 #ifndef AliTPCCALIBV0_H
2 #define AliTPCCALIBV0_H
5 #include <AliTPCcalibBase.h>
8 class TTreeSRedirector;
26 class AliExternalTrackParam;
27 class AliTPCCorrection;
29 class AliTPCcalibV0 : public AliTPCcalibBase {
35 AliTPCcalibV0(const Text_t *name, const Text_t *title);
36 virtual ~AliTPCcalibV0();
37 virtual void Process(AliVEvent *event) {return ProcessESD(event);}
38 void FilterV0s(AliVEvent* event);
39 Long64_t Merge(TCollection *const li);
40 void AddTree(TTree * treeInput);
41 void AddTreeHPT(TTree * treeInput);
42 static AliExternalTrackParam * RefitTrack(AliTPCseed *seed, AliTPCCorrection * corr, Double_t xstart, Double_t xstop, Double_t mass);
43 static void MakeFitTreeTrack(const TObjArray * corrArray, Double_t ptCut, Int_t run);
44 static void MakeFitTreeV0(const TObjArray * corrArray, Double_t ptCut, Int_t run);
48 void ProcessESD(AliVEvent *event);
49 void DumpToTree(AliVEvent *event);
50 void DumpToTreeHPT(AliVEvent *event);
51 TTree * GetV0Tree(){return fV0Tree;}
52 TTree * GetHPTTree(){return fHPTTree;}
56 //void ProcessV0(Int_t ftype);
58 void BinLogX(TH2F * h);
62 static AliKFParticle * Fit(AliKFVertex & primVtx, AliESDv0 *v0, Int_t PDG1, Int_t PDG2);
67 AliTPCcalibV0(const AliTPCcalibV0&); // Not implemented
68 AliTPCcalibV0& operator=(const AliTPCcalibV0&); // Not implemented
69 TTree *fV0Tree; // tree with full V0 information
70 TTree *fHPTTree; // tree with high mometa tracks - full calib info
72 AliStack *fStack; // pointer to kinematic tree
73 AliVEvent *fEvent; //! current ED to proccess - NOT OWNER
74 TDatabasePDG *fPdg; //! particle database
75 TObjArray *fParticles; // array of selected MC particles
76 TObjArray *fV0s; // array of V0s
77 TObjArray *fGammas; // gamma conversion candidates
79 //void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}
80 void Process(AliVTrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}
81 void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);}
83 ClassDef(AliTPCcalibV0,3);