X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCcalibTime.h;h=40fa909489fc644d72c4f0a95099f120f511c0af;hb=878dd3f2863301bad35313b30330199629391648;hp=41a34d5f1b4cb092eedf6cba7404b079d768e4cc;hpb=da6c0bc9ffdc5399732482c46a69be1ff0c5a56a;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCcalibTime.h b/TPC/AliTPCcalibTime.h index 41a34d5f1b4..40fa909489f 100644 --- a/TPC/AliTPCcalibTime.h +++ b/TPC/AliTPCcalibTime.h @@ -18,60 +18,100 @@ class TList; class AliESDEvent; class AliESDtrack; class AliTPCcalibLaser; +class TGraphErrors; +class AliSplineFit; +class AliESDfriendTrack; #include "TTreeStream.h" - +#include "TMap.h" class AliTPCcalibTime:public AliTPCcalibBase { public: AliTPCcalibTime(); - AliTPCcalibTime(const Text_t *name, const Text_t *title, ULong64_t TriggerMask, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeDeDx, Int_t deltaIntegrationTimeVdrift); + AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeVdrift); virtual ~AliTPCcalibTime(); virtual void Process(AliESDEvent *event); virtual Long64_t Merge(TCollection *li); virtual void Analyze(); - // + static Bool_t IsLaser (AliESDEvent *event); + static Bool_t IsCosmics (AliESDEvent *event); + static Bool_t IsBeam (AliESDEvent *event); + void ProcessLaser (AliESDEvent *event); void ProcessCosmic(AliESDEvent *event); + void ProcessBeam (AliESDEvent *event); Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1); - // - THnSparse * GetHistVdrift(){return (THnSparse*) fHistVdrift;}; - THnSparse * GetHistDeDxVsTgl(){return (THnSparse*) fHistDeDxTgl;}; - THnSparse * GetHistDeDx(){return (THnSparse*) fHistDeDx;}; + Bool_t IsCross(AliESDtrack *tr0, AliESDtrack *tr1); + Bool_t IsSame (AliESDtrack *tr0, AliESDtrack *tr1); + void ProcessSame(AliESDtrack* track, AliESDfriendTrack *friendTrack,AliESDEvent *event); + void ProcessAlignITS(AliESDtrack* track, AliESDfriendTrack *friendTrack, AliESDEvent *event,AliESDfriend *ESDfriend); + void ProcessAlignTRD(AliESDtrack* track, AliESDfriendTrack *friendTrack); + void ProcessAlignTOF(AliESDtrack* track, AliESDfriendTrack *friendTrack); + THnSparse* GetHistVdriftLaserA(Int_t index=1){return fHistVdriftLaserA[index];}; + THnSparse* GetHistVdriftLaserC(Int_t index=1){return fHistVdriftLaserC[index];}; + THnSparse* GetHistoDrift(const char* name); + TObjArray* GetHistoDrift(); + TGraphErrors* GetGraphDrift(const char* name); + TObjArray* GetGraphDrift(); + AliSplineFit* GetFitDrift(const char* name); +// TObjArray* GetFitDrift(); + TH1F* GetCosmiMatchingHisto(Int_t index=0){return fCosmiMatchingHisto[index];}; + void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}; + void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);} + TObjArray* GetAlignITSTPC() {return fAlignITSTPC;} // alignemnt array ITS TPC match + TObjArray* GetAlignTRDTPC() {return fAlignTRDTPC;} // alignemnt array TRD TPC match + TObjArray* GetAlignTOFTPC() {return fAlignTOFTPC;} // alignemnt array TOF TPC match + private: void ResetCurrent(); // reset current values - ULong64_t fTriggerMask; // select certain trigger within one run - - THnSparse * fHistDeDxTgl; // dEdx vs. dip angle vs time histogram - THnSparse * fHistDeDx; // dEdx vs. time histogram (cosmics: all particles on Fermi plateau) - THnSparse * fHistVdrift; // drift velocity vs time histogram - - Float_t fIntegrationTimeDeDx; // required statistics for each dEdx time bin - Float_t fIntegrationTimeVdrift; // required statistics for each Vdrift time bin AliTPCcalibLaser * fLaser; //! laser calibration // // current information // Float_t fDz; //! current delta z - Float_t fdEdx; //! current dEdx - Float_t fdEdxRatio; //! current dEdx ratio - Float_t fTl; //! current tan(lambda) // cuts // Float_t fCutMaxD; // maximal distance in rfi ditection - Float_t fCutMaxDz; // maximal distance in z ditection + Float_t fCutMaxDz; // maximal distance in z ditection Float_t fCutTheta; // maximal distance in theta ditection Float_t fCutMinDir; // direction vector products + Int_t fCutTracks; // maximal number of tracks AliTPCcalibTime(const AliTPCcalibTime&); AliTPCcalibTime& operator=(const AliTPCcalibTime&); - ClassDef(AliTPCcalibTime, 1); + TH1F* fCosmiMatchingHisto[10]; + + // laser histo + THnSparse * fHistVdriftLaserA[3]; //Histograms for V drift from laser + THnSparse * fHistVdriftLaserC[3]; //Histograms for V drift from laser + // DELTA Z histo +// TMap* fMapDz; //Tmap of V drifts for different triggers + TObjArray* fArrayDz; // array of DZ histograms for different triggers + TObjArray* fAlignITSTPC; // alignemnt array ITS TPC match + TObjArray* fAlignTRDTPC; // alignemnt array TRD TPC match + TObjArray* fAlignTOFTPC; // alignemnt array TOF TPC match + Int_t fTimeBins; //Bins time + Double_t fTimeStart; //Start time + Double_t fTimeEnd; //End time + Int_t fPtBins; //Bins pt + Double_t fPtStart; //Start pt + Double_t fPtEnd; //End pt + Int_t fVdriftBins; //Bins vdrift + Double_t fVdriftStart; //Start vdrift + Double_t fVdriftEnd; //End vdrift + Int_t fRunBins; //Bins run + Double_t fRunStart; //Start run + Double_t fRunEnd; //End run + Int_t fBinsVdrift[4]; //Bins for vdrift + Double_t fXminVdrift[4]; //Xmax for vdrift + Double_t fXmaxVdrift[4]; //Xmin for vdrift + ClassDef(AliTPCcalibTime, 2); }; #endif