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