X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=PWG4%2FJetTasks%2FAliPWG4HighPtTrackQA.h;h=6cfe2181bf45b4393ed27b3b5ddb22d66175b2aa;hp=17f7e6525f30f9d16edc8cfe6cc92994638d0004;hb=44684f3b81ac7c883877837fc11ecb362f7d8e57;hpb=2b553e6f0194d2f4e6b0dfb09f49169c54755da3 diff --git a/PWG4/JetTasks/AliPWG4HighPtTrackQA.h b/PWG4/JetTasks/AliPWG4HighPtTrackQA.h index 17f7e6525f3..6cfe2181bf4 100644 --- a/PWG4/JetTasks/AliPWG4HighPtTrackQA.h +++ b/PWG4/JetTasks/AliPWG4HighPtTrackQA.h @@ -36,6 +36,7 @@ class AliESDEvent; class AliESDtrackCuts; class AliESDVertex; class AliAODTrack; +class AliESDtrack; class AliGenPythiaEventHeader; class AliMCEvent; @@ -61,21 +62,26 @@ class AliPWG4HighPtTrackQA: public AliAnalysisTaskSE { Int_t CalculateCentrality(AliVEvent *ev); Int_t CalculateCentrality(AliESDEvent *esd); Int_t CalculateCentrality(AliAODEvent *aod); + Int_t GetCentralityClass(Float_t cent=-1.); void DoAnalysisESD(); void DoAnalysisAOD(); void FillHistograms(); + void FillSystematicCutHist(AliESDtrack *track); //Setters void SetDataType(DataType d) {fDataType = d;} void SetIsPbPb(Bool_t cs) {fIsPbPb = cs;} void SetCentralityClass(int cent) {fCentClass=cent;} void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;} + void SetCutsITSLoose(AliESDtrackCuts* trackCuts) {fTrackCutsITSLoose = trackCuts;} + void SetCutsTPConly(AliESDtrackCuts* trackCuts) {fTrackCutsTPConly = trackCuts;} void SetTrackType(Int_t trackType) {fTrackType = trackType;} void SetFilterMask(UInt_t filterMask) {fFilterMask = filterMask;} void SetSigmaConstrainedMax(Double_t sigma) {fSigmaConstrainedMax=sigma;} void SetPtMax(Float_t ptmax) {fPtMax = ptmax;} + void SetPtBinEdges(Int_t region, Double_t ptmax, Double_t ptBinWidth); void SetNVariables(Int_t nv) {fNVariables = nv;} Float_t GetPtMax() {return fPtMax;} @@ -92,18 +98,21 @@ class AliPWG4HighPtTrackQA: public AliAnalysisTaskSE { DataType fDataType; //! kESD or kAOD - AliVEvent *fEvent; - AliESDEvent *fESD; //! ESD object + AliVEvent *fEvent; //! AliVEvent object + AliESDEvent *fESD; //! ESD object const AliESDVertex *fVtx; //! vertex object - AliESDtrackCuts *fTrackCuts; // TrackCuts - Int_t fTrackType; // 0: global track; 1:TPConly track 2: TPConly constrained track 3: global ITSrefit - UInt_t fFilterMask; //! Select tracks from specific track cuts belonging to certain filter mask for AOD analysis + AliESDtrackCuts *fTrackCuts; // TrackCuts + AliESDtrackCuts *fTrackCutsITSLoose; //Loose ITS track cuts + AliESDtrackCuts *fTrackCutsTPConly; //TPC track cuts + Int_t fTrackType; // 0: global track; 1:TPConly track 2: TPConly constrained track 3: global ITSrefit 4: TPConly constrained track with QA selection based on global track + UInt_t fFilterMask; //! Select tracks from specific track cuts belonging to certain filter mask for AOD analysis Double_t fSigmaConstrainedMax; // max sigma on constrained fit Float_t fPtMax; // Maximum pT for histograms + Float_t fPtBinEdges[3][2]; // 3 regions total with different binning for pT axis of histos - Bool_t fIsPbPb; // kTRUE if PbPb + Bool_t fIsPbPb; // kTRUE if PbPb Int_t fCentClass; // Select only events from predefined centrality class /* @@ -152,18 +161,30 @@ class AliPWG4HighPtTrackQA: public AliAnalysisTaskSE { TH2F *fPtChi2C; //! Pt vs Chi2C TH2F *fPtNSigmaToVertex; //! Pt vs nSigmaToVertex TH2F *fPtRelUncertainty1Pt; //! Pt vs relUncertainty1Pt - TH2F *fPtUncertainty1Pt; //! Pt vs Uncertainty1Pt + TH2F *fPtUncertainty1Pt; //! Pt vs Uncertainty1Pt TH2F *fPtChi2PerClusterTPC; //! Pt vs Chi2PerClusterTPC TH2F *fPtNCrossedRows; //! Pt vs NCrossedRows TH2F *fPtNCrossedRowsNClusF; //! Pt vs NCrossedRows/NClusF TH3F *fPtNCrRNCrRNClusF; //! Pt vs NCrossedRows vs NCrossedRows/NClusF //histos for covariance matrix elements - TH2F *fPtSigmaY2; //! Pt vs sigma(y)^2 extCov[0] - TH2F *fPtSigmaZ2; //! Pt vs sigma(z)^2 extCov[2] - TH2F *fPtSigmaSnp2; //! Pt vs sigma(Snp)^2 extCov[5] - TH2F *fPtSigmaTgl2; //! Pt vs sigma(Tgl)^2 extCov[9] - TH2F *fPtSigma1Pt2; //! Pt vs sigma(1/pT)^2 extCov[14] + TH2F *fPtSigmaY2; //! 1/Pt vs sigma(y) extCov[0] + TH2F *fPtSigmaZ2; //! 1/Pt vs sigma(z) extCov[2] + TH2F *fPtSigmaSnp2; //! 1/Pt vs sigma(Snp) extCov[5] + TH2F *fPtSigmaTgl2; //! 1/Pt vs sigma(Tgl) extCov[9] + TH2F *fPtSigma1Pt2; //! 1/Pt vs sigma(1/pT) extCov[14] + + //profiles for covariance matrix elements + TProfile *fProfPtSigmaY2; //! 1/Pt vs sigma(y) extCov[0] + TProfile *fProfPtSigmaZ2; //! 1/Pt vs sigma(z) extCov[2] + TProfile *fProfPtSigmaSnp2; //! 1/Pt vs sigma(Snp) extCov[5] + TProfile *fProfPtSigmaTgl2; //! 1/Pt vs sigma(Tgl) extCov[9] + TProfile *fProfPtSigma1Pt2; //! 1/Pt vs sigma(1/pT) extCov[14] + + TProfile *fProfPtSigma1Pt; //! pT vs sigma(1/Pt) + TProfile *fProfPtPtSigma1Pt; //! pT vs pT*sigma(1/Pt) + + TH1F *fSystTrackCuts; //! Bookkeeping for track cuts TList *fHistList; //! List of Histograms