X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=PWG4%2FJetTasks%2FAliPWG4HighPtTrackQA.h;h=6cfe2181bf45b4393ed27b3b5ddb22d66175b2aa;hp=83c266f1700c1b4e72b8b210c5c582fb7cd5a9e6;hb=44684f3b81ac7c883877837fc11ecb362f7d8e57;hpb=d756027fa42566c20fcffbb3ccfbb310ba08a8a5 diff --git a/PWG4/JetTasks/AliPWG4HighPtTrackQA.h b/PWG4/JetTasks/AliPWG4HighPtTrackQA.h index 83c266f1700..6cfe2181bf4 100644 --- a/PWG4/JetTasks/AliPWG4HighPtTrackQA.h +++ b/PWG4/JetTasks/AliPWG4HighPtTrackQA.h @@ -14,7 +14,8 @@ **************************************************************************/ //----------------------------------------------------------------------- -// This class compares the global reconstruction with the MC information +// This class stores QA variables as function of pT for different type +// of tracks and track selection criteria // Author : Marta Verweij - UU //----------------------------------------------------------------------- @@ -35,6 +36,7 @@ class AliESDEvent; class AliESDtrackCuts; class AliESDVertex; class AliAODTrack; +class AliESDtrack; class AliGenPythiaEventHeader; class AliMCEvent; @@ -60,20 +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;} @@ -90,17 +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 /* @@ -149,11 +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 *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; //! 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