]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskSAJF.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskSAJF.h
index cda8910e7cd318a26fbf6f01785b7a4af1b3b24e..2dbcddcc218c3e1f32dedb594c04ec043600d449 100644 (file)
@@ -3,13 +3,11 @@
 
 // $Id$
 
-class TClonesArray;
-class TString;
-class TH1F;
-class TH2F;
-class TH3F;
-class AliRhoParameter;
+class TH2;
+class THnSparse;
+
 #include <TH3F.h>
+
 #include "AliAnalysisTaskEmcalJet.h"
 
 class AliAnalysisTaskSAJF : public AliAnalysisTaskEmcalJet {
@@ -17,39 +15,51 @@ class AliAnalysisTaskSAJF : public AliAnalysisTaskEmcalJet {
 
   AliAnalysisTaskSAJF();
   AliAnalysisTaskSAJF(const char *name);
-  virtual ~AliAnalysisTaskSAJF();
+  virtual ~AliAnalysisTaskSAJF() {;}
 
   void                        UserCreateOutputObjects();
-  void                        Terminate(Option_t *option);
+
+  void                        SetHistoType(Int_t t) { fHistoType = t; }
 
  protected:
-  Bool_t                      FillHistograms()                                              ;
-  Int_t                       DoJetLoop()                                                   ;
+  void                        AllocateTHX();
+  void                        AllocateTHnSparse();
 
-  // General histograms
-  TH1F                       *fHistEvents[4];              //!Events accepted/rejected
-  TH1F                       *fHistLeadingJetPt[4];        //!Leading jet pt spectrum
-  TH1F                       *fHistLeadingJetCorrPt[4];    //!Corrected leading jet pt spectrum
-  TH2F                       *fHistRhoVSleadJetPt[4];      //!Area(leadjet) * rho vs. leading jet pt
-  TH2F                       *fNjetsVsCent;                //!No. of jets vs. centrality
+  Bool_t                      FillHistograms();
+  void                        FillJetHisto(Double_t cent, Double_t ep, Double_t eta, Double_t phi, Double_t pt, Double_t MCpt, Double_t corrpt, Double_t area, 
+                                          Double_t NEF, Double_t z, Int_t n, Double_t leadingpt);
+
+  Int_t                       fHistoType;                      // histogram type (0=TH2, 1=THnSparse)
 
   // Inclusive jets histograms
-  TH3F                       *fHistJetPhiEta[4];           //!Phi-Eta distribution of jets
-  TH3F                       *fHistJetsPtArea[4];          //!Jet pt vs. area
-  TH3F                       *fHistJetsCorrPtArea[4];      //!Jet corr pt vs. area
-  TH3F                       *fHistJetsNEFvsPt[4];         //!Jet neutral energy fraction vs. jet pt
-  TH3F                       *fHistJetsZvsPt[4];           //!Constituent Pt over Jet Pt ratio vs. jet pt
-  TH2F                       *fHistConstituents[4];        //!x axis = constituents pt; y axis = no. of constituents
-  TH2F                       *fHistTracksJetPt[4];         //!Track pt vs. jet pt
-  TH2F                       *fHistClustersJetPt[4];       //!Cluster pt vs. jet pt
-  TH2F                       *fHistTracksPtDist[4];        //!Track pt vs. distance form jet axis
-  TH2F                       *fHistClustersPtDist[4];      //!Cluster pt vs. distance form jet axis
-  TH3F                       *fHistJetNconstVsPt[4];       //!Jet no. of constituents vs. pt
+  THnSparse                  *fHistJetObservables;             //!Jet-wise observables
+
+  // TH2/TH3 versions
+  TH3                        *fHistJetPtEtaPhi[4];             //!Jet Pt vs. Eta vs. Phi
+  TH2                        *fHistJetPtArea[4];               //!Jet Pt vs. Area
+  TH2                        *fHistJetPtEP[4];                 //!Jet Pt vs. event plane
+  TH2                        *fHistJetPtNEF[4];                //!Jet Pt vs. neutral energy fraction
+  TH2                        *fHistJetPtZ[4];                  //!Jet Pt vs. z
+  TH2                        *fHistJetPtLeadingPartPt[4];      //!Jet Pt vs. leading particle pt
+  TH3                        *fHistJetCorrPtEtaPhi[4];         //!Jet corrPt vs. Eta vs. Phi
+  TH2                        *fHistJetCorrPtArea[4];           //!Jet corrPt vs. Area
+  TH2                        *fHistJetCorrPtEP[4];             //!Jet corrPt vs. event plane
+  TH2                        *fHistJetCorrPtNEF[4];            //!Jet corrPt vs. neutral energy fraction
+  TH2                        *fHistJetCorrPtZ[4];              //!Jet corrPt vs. z
+  TH2                        *fHistJetCorrPtLeadingPartPt[4];  //!Jet corrPt vs. leading particle pt
+  TH2                        *fHistJetPtCorrPt[4];             //!Jet Pt vs. corrPt
+  TH2                        *fHistJetPtMCPt[4];               //!Jet Pt vs. MCPt
+  TH2                        *fHistJetMCPtCorrPt[4];           //!Jet MCPt vs. corrPt
+
+  TH2                        *fHistTracksJetPt[4];             //!Track pt vs. jet pt
+  TH2                        *fHistClustersJetPt[4];           //!Cluster pt vs. jet pt
+  TH2                        *fHistTracksPtDist[4];            //!Track pt vs. distance form jet axis
+  TH2                        *fHistClustersPtDist[4];          //!Cluster pt vs. distance form jet axis
 
  private:
   AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&);            // not implemented
   AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented
 
-  ClassDef(AliAnalysisTaskSAJF, 14) // jet analysis task
+  ClassDef(AliAnalysisTaskSAJF, 17) // jet analysis task
 };
 #endif