]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliCentralitySelectionTask.h
Coding rule violation corrected.
[u/mrichter/AliRoot.git] / ANALYSIS / AliCentralitySelectionTask.h
index f3e5c5c913f5e691638fdcd25edc5fc14dc231c1..c340cb47d73125e537da1dc1fb02554f9abb4698 100644 (file)
@@ -35,38 +35,45 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   virtual void UserExec(Option_t *option);
   virtual void Terminate(Option_t *option);
 
-  virtual void  SetDebugLevel(Int_t level) {fDebug = level;}
   void SetInput(const char* input)         {fAnalysisInput = input;}
   void SetMCInput()                        {fIsMCInput = kTRUE;}
   void DontUseScaling()                    {fUseScaling=kFALSE;}  
+  void DontUseCleaning()                   {fUseCleaning=kFALSE;}
+  void SetFillHistos()                     {fFillHistos=kTRUE; DefineOutput(1, TList::Class());
+}
 
-  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 SetupRun(const AliESDEvent* const esd);
+  Bool_t IsOutlierV0MSPD(Float_t spd, Float_t v0, Int_t cent) const;
+  Bool_t IsOutlierV0MTPC(Int_t tracks, Float_t v0, Int_t cent) const;
+  Bool_t IsOutlierV0MZDC(Float_t zdc, Float_t v0) const;
+  Bool_t IsOutlierV0MZDCECal(Float_t zdc, Float_t v0) const;
 
-  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  
   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[2667]; // number of runs in PbPb 2010
-  Float_t SPDScaleFactor[2667]; // number of runs in PbPb 2010
-  Float_t TPCScaleFactor[2667]; // number of runs in PbPb 2010
-  Float_t V0MScaleFactorMC[2667]; // number of runs in PbPb 2010
+  Bool_t   fUseScaling;         // flag to use scaling 
+  Bool_t   fUseCleaning;        // flag to use cleaning  
+  Bool_t   fFillHistos;         // flag to fill the QA histos
+  Float_t  fV0MScaleFactor;     // scale factor V0M
+  Float_t  fSPDScaleFactor;     // scale factor SPD
+  Float_t  fTPCScaleFactor;     // scale factor TPC
+  Float_t  fV0MScaleFactorMC;   // scale factor V0M for MC
+  Float_t  fV0MSPDOutlierPar0;  // outliers parameter
+  Float_t  fV0MSPDOutlierPar1;  // outliers parameter
+  Float_t  fV0MTPCOutlierPar0;  // outliers parameter
+  Float_t  fV0MTPCOutlierPar1;  // outliers parameter
+  Float_t  fV0MSPDSigmaOutlierPar0;  // outliers parameter
+  Float_t  fV0MSPDSigmaOutlierPar1;  // outliers parameter
+  Float_t  fV0MSPDSigmaOutlierPar2;  // outliers parameter
+  Float_t  fV0MTPCSigmaOutlierPar0;  // outliers parameter
+  Float_t  fV0MTPCSigmaOutlierPar1;  // outliers parameter
+  Float_t  fV0MTPCSigmaOutlierPar2;  // outliers parameter                                                
+  Float_t  fV0MZDCOutlierPar0;      // outliers parameter
+  Float_t  fV0MZDCOutlierPar1;      // outliers parameter
+  Float_t  fV0MZDCEcalOutlierPar0;   // outliers parameter
+  Float_t  fV0MZDCEcalOutlierPar1;   // outliers parameter
 
   AliESDtrackCuts* fTrackCuts;  //! optional track cuts
 
@@ -74,6 +81,26 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   Float_t  fOutliersCut;        //! outliers cut (in n-sigma)
   Int_t    fQuality;            //! quality for centrality determination
 
+  Bool_t   fIsSelected;         //! V0BG rejection
+
+  Bool_t   fMSL;                //! 
+  Bool_t   fMSH;                //! 
+  Bool_t   fMUL;                //! 
+  Bool_t   fMLL;                //! 
+
+  Bool_t   fEJE;                //! 
+  Bool_t   fEGA;                //! 
+  Bool_t   fPHS;                //! 
+
+  Bool_t   fCVHN;               //! if the event is central trigger
+  Bool_t   fCVLN;               //! if the event is semicentral trigger
+  Bool_t   fCVHNbit;               //! if the event is central trigger
+  Bool_t   fCVLNbit;               //! if the event is semicentral trigger
+  Bool_t   fCCENT;              //! if the event is central trigger
+  Bool_t   fCSEMI;              //! if the event is semicentral trigger
+  Bool_t   fCCENTbit;           //! if the event is central trigger
+  Bool_t   fCSEMIbit;           //! if the event is semicentral trigger
+
   Float_t  fCentV0M;            // percentile centrality from V0
   Float_t  fCentFMD;            // percentile centrality from FMD
   Float_t  fCentTRK;            // percentile centrality from tracks
@@ -97,6 +124,28 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   TList   *fOutputList; // output list
   
   TH1F *fHOutCentV0M     ;    //control histogram for centrality
+  TH1F *fHOutCentV0MCVHN;    //control histogram for centrality
+  TH1F *fHOutCentV0MCVLN;    //control histogram for centrality
+  TH1F *fHOutCentV0MCVHNinMB;    //control histogram for centrality
+  TH1F *fHOutCentV0MCVLNinMB;    //control histogram for centrality
+  TH1F *fHOutCentV0MCCENT;    //control histogram for centrality
+  TH1F *fHOutCentV0MCSEMI;    //control histogram for centrality
+  TH1F *fHOutCentV0MCCENTinMB;    //control histogram for centrality
+  TH1F *fHOutCentV0MCSEMIinMB;    //control histogram for centrality
+  TH1F *fHOutCentV0MMSL;    //control histogram for centrality
+  TH1F *fHOutCentV0MMSH;    //control histogram for centrality
+  TH1F *fHOutCentV0MMUL;    //control histogram for centrality
+  TH1F *fHOutCentV0MMLL;    //control histogram for centrality
+  TH1F *fHOutCentV0MEJE;    //control histogram for centrality
+  TH1F *fHOutCentV0MEGA;    //control histogram for centrality
+  TH1F *fHOutCentV0MPHS;    //control histogram for centrality
+  TH1F *fHOutCentV0MMSLinMB;    //control histogram for centrality
+  TH1F *fHOutCentV0MMSHinMB;    //control histogram for centrality
+  TH1F *fHOutCentV0MMULinMB;    //control histogram for centrality
+  TH1F *fHOutCentV0MMLLinMB;    //control histogram for centrality
+  TH1F *fHOutCentV0MEJEinMB;    //control histogram for centrality
+  TH1F *fHOutCentV0MEGAinMB;    //control histogram for centrality
+  TH1F *fHOutCentV0MPHSinMB;    //control histogram for centrality
   TH1F *fHOutCentFMD     ;    //control histogram for centrality
   TH1F *fHOutCentTRK     ;    //control histogram for centrality
   TH1F *fHOutCentTKL     ;    //control histogram for centrality
@@ -105,9 +154,13 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   TH1F *fHOutCentV0MvsFMD;    //control histogram for centrality
   TH1F *fHOutCentTKLvsV0M;    //control histogram for centrality
   TH1F *fHOutCentZEMvsZDC;    //control histogram for centrality
+  TH2F *fHOutCentV0MvsCentCL1;    //control histogram for centrality
+  TH2F *fHOutCentV0MvsCentTRK;    //control histogram for centrality
+  TH2F *fHOutCentTRKvsCentCL1;    //control histogram for centrality
+  TH2F *fHOutCentV0MvsCentZDC;    //control histogram for centrality
 
   TH1F *fHOutMultV0M ;        //control histogram for multiplicity
-  TH1F *fHOutMultV0R ;        //control histogram for multiplicity
+  TH1F *fHOutMultV0O ;        //control histogram for multiplicity
   TH1F *fHOutMultFMD ;        //control histogram for multiplicity
   TH1F *fHOutMultTRK ;        //control histogram for multiplicity
   TH1F *fHOutMultTKL ;        //control histogram for multiplicity
@@ -118,22 +171,33 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   TH2F *fHOutMultZEMvsZDN;    //control histogram for multiplicity
   TH2F *fHOutMultV0MvsZDC;    //control histogram for multiplicity
   TH2F *fHOutMultZEMvsZDC;    //control histogram for multiplicity
+  TH2F *fHOutMultZEMvsZDCw;   //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
+  TH2F *fHOutMultV0MvsV0O;    //control histogram for multiplicity
+  TH2F *fHOutMultV0OvsCL1;    //control histogram for multiplicity
+  TH2F *fHOutMultV0OvsTRK;    //control histogram for multiplicity
+
+  TH1F *fHOutCentV0Mqual1     ;    //control histogram for centrality quality 1
+  TH1F *fHOutCentTRKqual1     ;    //control histogram for centrality quality 1
+  TH1F *fHOutCentCL1qual1     ;    //control histogram for centrality quality 1
+  TH2F *fHOutMultV0MvsCL1qual1;    //control histogram for multiplicity quality 1
+  TH2F *fHOutMultV0MvsTRKqual1;    //control histogram for multiplicity quality 1
+  TH2F *fHOutMultTRKvsCL1qual1;    //control histogram for multiplicity quality 1
+
+  TH1F *fHOutCentV0Mqual2     ;    //control histogram for centrality quality 2
+  TH1F *fHOutCentTRKqual2     ;    //control histogram for centrality quality 2
+  TH1F *fHOutCentCL1qual2     ;    //control histogram for centrality quality 2
+  TH2F *fHOutMultV0MvsCL1qual2;    //control histogram for multiplicity quality 2
+  TH2F *fHOutMultV0MvsTRKqual2;    //control histogram for multiplicity quality 2
+  TH2F *fHOutMultTRKvsCL1qual2;    //control histogram for multiplicity quality 2
 
   TH1F *fHOutQuality ;        //control histogram for quality
-  TH1F *fHOutVertex ;        //control histogram for vertex
+  TH1F *fHOutVertex ;         //control histogram for vertex
+  TH1F *fHOutVertexT0 ;         //control histogram for vertex
 
-  ClassDef(AliCentralitySelectionTask, 6); 
+  ClassDef(AliCentralitySelectionTask, 18); 
 };
 
 #endif