X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ANALYSIS%2FAliCentralitySelectionTask.h;h=7fb6c82b766ab7788ea1ae948587ced2e60a2e47;hb=22e16c17bb2e45a048deb4e1c1ed119f92cbe7d2;hp=e6e5a7ea0e8c0f985786e2c526d3b21f309e387c;hpb=9f14d90a5e5ed35238f5ed43ca2298d45dc3b4fd;p=u%2Fmrichter%2FAliRoot.git diff --git a/ANALYSIS/AliCentralitySelectionTask.h b/ANALYSIS/AliCentralitySelectionTask.h index e6e5a7ea0e8..7fb6c82b766 100644 --- a/ANALYSIS/AliCentralitySelectionTask.h +++ b/ANALYSIS/AliCentralitySelectionTask.h @@ -13,10 +13,12 @@ class TFile; class TH1F; +class TH2F; class TList; class TString; class AliESDEvent; +class AliESDtrackCuts; class AliCentralitySelectionTask : public AliAnalysisTaskSE { @@ -36,30 +38,41 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE { virtual void SetDebugLevel(Int_t level) {fDebug = level;} void SetInput(const char* input) {fAnalysisInput = input;} void SetMCInput() {fIsMCInput = kTRUE;} - - void SetPercentileFile(TString filename); - void SetPercentileFile2(TString filename); - void ReadCentralityHistos(); - void ReadCentralityHistos2(); - - void AddPercentileFileToList(TString filename) { fFileList->Add(new TObjString(filename)); } - void AddPercentileFile2ToList(TString filename) { fFileList2->Add(new TObjString(filename)); } + void DontUseScaling() {fUseScaling=kFALSE;} + void ReadCentralityHistos(TString filename); + void ReadCentralityHistos2(TString filename); private: Int_t SetupRun(AliESDEvent* esd); + Bool_t IsOutlierV0MSPD(Float_t spd, Float_t v0, Int_t cent); + Bool_t IsOutlierV0MTPC(Int_t tracks, Float_t v0, Int_t cent); + Bool_t IsOutlierV0MZDC(Float_t zdc, Float_t v0); + Float_t MyGetScaleFactor(Int_t runnumber, Int_t flag); + void MyInitScaleFactor(); + Float_t MyGetScaleFactorMC(Int_t runnumber); + void MyInitScaleFactorMC(); Int_t fDebug; // Debug flag TString fAnalysisInput; // "ESD", "AOD" Bool_t fIsMCInput; // true when input is MC TFile *fFile; // file that holds the centrality vs multiplicity 1d - TFile *fFile2; // file that holds the centrality vs multiplicity 2d - TString fCentfilename; // name of this file 1d - TString fCentfilename2; // name of this file 2d - - TList* fFileList; //! list of input files names - TList* fFileList2; //! list of input files 2 names + TFile *fFile2; // file that holds the centrality vs multiplicity 2d Int_t fCurrentRun; // current run number + Int_t fRunNo; // reference run number + Int_t fLowRunN; // first run + Int_t fHighRunN; // last run + Bool_t fUseScaling; + Float_t V0MScaleFactor[2012]; // number of runs in PbPb 2010 + Float_t SPDScaleFactor[2012]; // number of runs in PbPb 2010 + Float_t TPCScaleFactor[2012]; // number of runs in PbPb 2010 + Float_t V0MScaleFactorMC[2012]; // number of runs in PbPb 2010 + + AliESDtrackCuts* fTrackCuts; //! optional track cuts + + Float_t fZVCut; //! z-vertex cut (in cm) + Float_t fOutliersCut; //! outliers cut (in n-sigma) + Int_t fQuality; //! quality for centrality determination Float_t fCentV0M; // percentile centrality from V0 Float_t fCentFMD; // percentile centrality from FMD @@ -81,8 +94,44 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE { TH1F *fHtempTKLvsV0M; // histogram with centrality vs multiplicity using tracklets vs V0 TH1F *fHtempZEMvsZDC; // histogram with centrality vs multiplicity using ZEM vs ZDC - ClassDef(AliCentralitySelectionTask,1); - + TList *fOutputList; // output list + + TH1F *fHOutCentV0M ; //control histogram for centrality + TH1F *fHOutCentFMD ; //control histogram for centrality + TH1F *fHOutCentTRK ; //control histogram for centrality + TH1F *fHOutCentTKL ; //control histogram for centrality + TH1F *fHOutCentCL0 ; //control histogram for centrality + TH1F *fHOutCentCL1 ; //control histogram for centrality + TH1F *fHOutCentV0MvsFMD; //control histogram for centrality + TH1F *fHOutCentTKLvsV0M; //control histogram for centrality + TH1F *fHOutCentZEMvsZDC; //control histogram for centrality + + TH1F *fHOutMultV0M ; //control histogram for multiplicity + TH1F *fHOutMultV0R ; //control histogram for multiplicity + TH1F *fHOutMultFMD ; //control histogram for multiplicity + TH1F *fHOutMultTRK ; //control histogram for multiplicity + TH1F *fHOutMultTKL ; //control histogram for multiplicity + TH1F *fHOutMultCL0 ; //control histogram for multiplicity + TH1F *fHOutMultCL1 ; //control histogram for multiplicity + + TH2F *fHOutMultV0MvsZDC; //control histogram for multiplicity + TH2F *fHOutMultZEMvsZDC; //control histogram for multiplicity + TH2F *fHOutMultV0MvsCL1; //control histogram for multiplicity + TH2F *fHOutMultV0MvsTRK; //control histogram for multiplicity + TH2F *fHOutMultTRKvsCL1; //control histogram for multiplicity + + TH1F *fHOutCentV0M_qual1 ; //control histogram for centrality quality 1 + TH1F *fHOutCentTRK_qual1 ; //control histogram for centrality quality 1 + TH1F *fHOutCentCL1_qual1 ; //control histogram for centrality quality 1 + + TH1F *fHOutCentV0M_qual2 ; //control histogram for centrality quality 2 + TH1F *fHOutCentTRK_qual2 ; //control histogram for centrality quality 2 + TH1F *fHOutCentCL1_qual2 ; //control histogram for centrality quality 2 + + TH1F *fHOutQuality ; //control histogram for quality + TH1F *fHOutVertex ; //control histogram for vertex + + ClassDef(AliCentralitySelectionTask, 3); }; #endif