]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskSAQA.h
From Salvatore:
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskSAQA.h
index 0ca0ef157a054be4141fbb6e7fd5fed6cf5ef413..7cf92ee4e0dfca6ffcb00fd8a314429838d83d00 100644 (file)
@@ -6,6 +6,8 @@
 class TH1;
 class TH2;
 class TH3;
+class THnSparse;
+class AliVVZERO;
 
 #include "AliAnalysisTaskEmcalJet.h"
 
@@ -16,46 +18,50 @@ class AliAnalysisTaskSAQA : public AliAnalysisTaskEmcalJet {
   virtual ~AliAnalysisTaskSAQA();
 
   void                        UserCreateOutputObjects();
-  void                        Terminate(Option_t *option);
 
   void                        SetCellEnergyCut(Float_t cut)                        { fCellEnergyCut      = cut        ; }
   void                        SetParticleLevel(Bool_t s)                           { fParticleLevel      = s          ; }
   void                        SetMC(Bool_t m)                                      { fIsMC               = m          ; }
+  void                        SetAdditionalCentEst(const char* meth2, const char* meth3="") { fCentMethod2 = meth2; fCentMethod3 = meth3; }
+  void                        SetDoV0QA(Int_t b)                                   { fDoV0QA             = b          ; }
 
  protected:
 
+  void                        ExecOnce()                                                    ;
   Bool_t                      FillHistograms()                                              ;
+  void                        FillEventQAHisto(Float_t cent, Float_t cent2, Float_t cent3, Float_t v0a, Float_t v0c, Float_t rho, Int_t ntracks, Int_t nclusters, Int_t ncells, Int_t njets);
   Bool_t                      RetrieveEventObjects()                                        ;
   Int_t                       DoCellLoop(Float_t &sum, Float_t &sum_cut)                    ;
-  Float_t                     DoTrackLoop()                                                 ;
-  Float_t                     DoClusterLoop()                                               ;
-  void                        DoJetLoop()                                                   ;
+  Int_t                       DoTrackLoop(Float_t &sum)                                     ;
+  Int_t                       DoClusterLoop(Float_t &sum)                                   ;
+  Int_t                       DoJetLoop()                                                   ;
   Double_t                    GetFcross(AliVCluster *cluster, AliVCaloCells *cells)         ;
 
   Float_t                     fCellEnergyCut;            // Energy cell cut
   Bool_t                      fParticleLevel;            // Set particle level analysis
   Bool_t                      fIsMC;                     // Trigger, MC analysis
-  Int_t                       fNclusters;                //!Number of accepted clusters in the event
-  Int_t                       fNtracks;                  //!Number of accepted tracks in the event
-  Int_t                       fNjets;                    //!Number of accepted jets in the event
+  TString                     fCentMethod2;              // Centrality method 2
+  TString                     fCentMethod3;              // Centrality method 3
+  Int_t                       fDoV0QA;                   // Add V0 QA histograms
+  Double_t                    fCent2;                    //!Event centrality with method 2
+  Double_t                    fCent3;                    //!Event centrality with method 3
+  AliVVZERO                  *fVZERO;                    //!Event V0 object
+  Double_t                    fV0ATotMult;               //!Event V0A total multiplicity
+  Double_t                    fV0CTotMult;               //!Event V0C total multiplicity
  
   // General histograms
-  TH2                        *fHistTracksCent;           //!Number of tracks vs. centrality
-  TH2                        *fHistClusCent;             //!Number of clusters vs. centrality
-  TH2                        *fHistJetsCent;             //!Number of jets vs. centrality
-  TH2                        *fHistClusTracks;           //!Number of clusters vs. number of tracks
-  TH2                        *fHistJetsParts;            //!Number of jets vs. number of particles (tracks+clusters)
-  TH2                        *fHistCellsCent;            //!Number of cells vs. centrality
-  TH2                        *fHistCellsTracks;          //!Number of cells vs. number of tracks
+  THnSparse                  *fHistEventQA;              //!Event-wise QA observables (cent[M], cent[A], cent[C], rho, # tracks, # clusters, # cells, # jets)
 
   // Tracks
   TH1                        *fHistTrNegativeLabels;     //!Percentage of negative label tracks
   TH1                        *fHistTrZeroLabels;         //!Percentage of tracks with label=0
   TH3                        *fHistTrPhiEtaPt[4][4];     //!Phi-Eta-Pt distribution of tracks
-  TH3                        *fHistTrPhiEtaPtZeroLab[4]; //!Phi-Eta-Pt distribution of tracks with label=0
+  TH2                        *fHistTrPhiEtaZeroLab[4];   //!Phi-Eta distribution of tracks with label=0
+  TH1                        *fHistTrPtZeroLab[4];       //!Pt distribution of tracks with label=0
   TH2                        *fHistTrEmcPhiEta[4];       //!Phi-Eta emcal propagated distribution of tracks
-  TH1                        *fHistTrEmcPt[4];           //!Phi-Eta emcal propagated distribution of tracks
+  TH1                        *fHistTrEmcPt[4];           //!Pt emcal propagated distribution of tracks
   TH2                        *fHistTrPhiEtaNonProp[4];   //!Phi-Eta distribution of non emcal propagated tracks
+  TH1                        *fHistTrPtNonProp[4];       //!Pt distribution of non emcal propagated tracks
   TH2                        *fHistDeltaEtaPt[4];        //!Eta-EtaProp vs. Pt
   TH2                        *fHistDeltaPhiPt[4];        //!Phi-PhiProp vs. Pt
   TH2                        *fHistDeltaPtvsPt[4];       //!Pt-PtProp vs. Pt
@@ -68,7 +74,7 @@ class AliAnalysisTaskSAQA : public AliAnalysisTaskEmcalJet {
   TH1                        *fHistClusMCEnergyFraction[4];//!MC energy fraction (embedding)
 
   // Jets
-  TH3                        *fHistJetsPhiEtaPt[4];      //!Phi-Eta distribution of jets
+  TH2                        *fHistJetsPhiEta[4];        //!Phi-Eta distribution of jets
   TH2                        *fHistJetsPtArea[4];        //!Pt vs. area of jets
 
   // EMCAL Cells
@@ -83,6 +89,6 @@ class AliAnalysisTaskSAQA : public AliAnalysisTaskEmcalJet {
   AliAnalysisTaskSAQA(const AliAnalysisTaskSAQA&);            // not implemented
   AliAnalysisTaskSAQA &operator=(const AliAnalysisTaskSAQA&); // not implemented
 
-  ClassDef(AliAnalysisTaskSAQA, 18) // Quality task for Emcal analysis
+  ClassDef(AliAnalysisTaskSAQA, 19) // Quality task for Emcal analysis
 };
 #endif