]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/EMCALJetTasks/AliAnalysisTaskRho.h
coverity fix
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliAnalysisTaskRho.h
index 44f7d61c414d4dbbee753603ff01f077b7156b97..81182b725ecf432c254064c450986c0855408f14 100644 (file)
@@ -1,75 +1,80 @@
-#ifndef ALIANALYSISTASKRHO_cxx
-#define ALIANALYSISTASKRHO_cxx
+#ifndef ALIANALYSISTASKRHO_H
+#define ALIANALYSISTASKRHO_H
 
-class TList;
+// $Id$
+
+class TClonesArray;
+class TF1;
 class TH1F;
 class TH2F;
-class TClonesArray;
+class TList;
 class TString;
+class AliRhoParameter;
 
-#include "AliAnalysisTaskSE.h"
+#include "AliAnalysisTaskRhoBase.h"
 
-class AliAnalysisTaskRho : public AliAnalysisTaskSE {
+class AliAnalysisTaskRho : public AliAnalysisTaskRhoBase {
 
  public:
   AliAnalysisTaskRho();
-  AliAnalysisTaskRho(const char *name);
+  AliAnalysisTaskRho(const char *name, Bool_t histo=kFALSE);
   virtual ~AliAnalysisTaskRho() {}
   
-  virtual void          UserCreateOutputObjects();
-  virtual void          UserExec(Option_t*);
-  virtual void          Terminate(Option_t*);
+  void                   UserCreateOutputObjects();
+  void                   UserExec(Option_t*);
+
+  const char            *GetRhoScaled() const                                  { return fRhoScaledName ;                   }
+  void                   SetAreaCut(Double_t a = 0.05)                         { fAreaCut       = a    ;                   }
+  void                   SetAreaEmcCut(Double_t a = 0.99)                      { fAreaEmcCut    = a    ;                   }
+  void                   SetExcludeLeadJets(UInt_t n)                          { fNExclLeadJets = n    ;                   }
+  void                   SetJetEta(Double_t emin, Double_t emax)               { fEtaMin        = emin ; fEtaMax = emax  ; }
+  void                   SetJetPhi(Double_t pmin, Double_t pmax)               { fPhiMin        = pmin ; fPhiMax = pmax  ; }
+  void                   SetJetsName(const char *n)                            { fJetsName      = n    ;                   }
+  void                   SetRhoName(const char *name)                          { fRhoName       = name ; 
+                                                                                 fRhoScaledName = name ;
+                                                                                 fRhoScaledName += "_Scaled";              }
+  void                   SetScaleFunction(TF1* sf)                             { fScaleFunction = sf   ;                   }
+  void                   SetTracksName(const char *n)                          { fTracksName    = n    ;                   }
 
-  void                  SetTracksName(const char *n)                          { fTracksName  = n    ; }
-  void                  SetJetsName(const char *n)                            { fJetsName    = n    ; }
-  void                  SetRhosName(const char *rn)                           { fRhosName    = rn   ; }
-  void                  SetJetPhi(Double_t pmin = 1.8, Double_t pmax = 2.74)  { fPhiMin      = pmin ; fPhiMax = pmax  ; }
-  void                  SetJetEta(Double_t emin = -0.3, Double_t emax = 0.3)  { fEtaMin      = emin ; fEtaMax = emax  ; }
-  void                  SetAreaCut(Double_t a = 0.0)                          { fAreaCut     = a    ; }
-  
  protected:
-  virtual void          Sort(vector<Double_t>& v)            ;
-  virtual Double_t      GetMedian(vector<Double_t> v, int c) ;
-  virtual Double_t      GetScaleFactor(Double_t cent)        ;
-  virtual Double_t      GetRhoFactor(Double_t cent)          ;
+  virtual void           ExecOnce();
+  virtual Double_t       GetScaleFactor(Double_t cent);
 
- private: 
   TString                fTracksName;                    // name of track collection
   TString                fJetsName;                      // name of jet collection
-  TString                fRhosName;                      // name of Rho array output
-  TString                fClustersName;                  // name of clusters collection
-
-  TList                 *fOutputList;                    //! Output list
-  TH1F                  *fHistCentrality;
-  TH1F                  *fHistJetPt;
-  TH1F                  *fHistJetArea; 
-  TH2F                  *fHistRhovsCent;
-  TH2F                  *fHistDeltaRhovsCent;  
-  TH2F                  *fHistDeltaRhoScalevsCent;  
-  TH2F                  *fHistJetPtvsCent;  
-  TH2F                  *fHistJetAreavsCent;  
-  TH2F                  *fHistNjetvsCent;
-
-  TH2F                 *fHistRhovsNtrack;
-  TH2F                 *fHistDeltaRhovsNtrack;   
-  TH2F                 *fHistDeltaRhoScalevsNtrack;   
-  TH2F                 *fHistJetPtvsNtrack;
-  TH2F                 *fHistJetAreavsNtrack;
-  TH2F                 *fHistNjetvsNtrack;
-
-  TClonesArray         *fArrRhos;
-
-  Double_t              fPhiMin;
-  Double_t              fPhiMax;
-  Double_t              fEtaMin;
-  Double_t              fEtaMax;
-  Double_t              fAreaCut;
-  Int_t                 fCswitch;
+  TString                fRhoScaledName;                 // name of scaled rho object
+  Double_t               fPhiMin;                        // minimum phi
+  Double_t               fPhiMax;                        // maximum phi
+  Double_t               fEtaMin;                        // minimum eta
+  Double_t               fEtaMax;                        // maximum eta
+  Double_t               fAreaCut;                       // minimum cut on jet area
+  Double_t               fAreaEmcCut;                    // minimum cut on jet emcal area
+  UInt_t                 fNExclLeadJets;                 // number of leading jets to be excluded from the median calculation
+  TF1                   *fScaleFunction;                 // pre-computed scale factor as a function of centrality
+  Bool_t                 fCreateHisto;                   // whether or not create histograms
+  TClonesArray          *fTracks;                        //!ptr to input tracks
+  TClonesArray          *fJets;                          //!ptr to input jets
+  TList                 *fOutputList;                    //!output list
+  TH1F                  *fHistCentrality;                //!centrality distribution
+  TH1F                  *fHistJetPt;                     //!jet pt distribution
+  TH1F                  *fHistJetArea;                   //!jet area
+  TH2F                  *fHistRhovsCent;                 //!rho vs. centrality
+  TH2F                  *fHistDeltaRhovsCent;            //!delta rho vs. centrality
+  TH2F                  *fHistDeltaRhoScalevsCent;       //!delta rhoscaled vs. centrality
+  TH2F                  *fHistJetPtvsCent;               //!jet pt vs. centrality
+  TH2F                  *fHistJetAreavsCent;             //!jet area vs. centrality
+  TH2F                  *fHistNjetvsCent;                //!no. of jets vs. centrality
+  TH2F                  *fHistRhovsNtrack;               //!rho vs. no. of tracks
+  TH2F                  *fHistDeltaRhovsNtrack;          //!delta rho vs. no. of tracks
+  TH2F                  *fHistDeltaRhoScalevsNtrack;     //!delta rho scaled vs. no. of tracks
+  TH2F                  *fHistJetPtvsNtrack;             //!jet pt vs. no. of tracks
+  TH2F                  *fHistJetAreavsNtrack;           //!jet area vs. no. of tracks
+  TH2F                  *fHistNjetvsNtrack;              //!no. of jets vs. no. of tracks
+  AliRhoParameter       *fRhoScaled;                     //!per event scaled rho
 
   AliAnalysisTaskRho(const AliAnalysisTaskRho&);             // not implemented
   AliAnalysisTaskRho& operator=(const AliAnalysisTaskRho&);  // not implemented
   
-  ClassDef(AliAnalysisTaskRho, 1); // Rho task
+  ClassDef(AliAnalysisTaskRho, 7); // Rho task
 };
-
 #endif