]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.h
fix the previous coverity fix on the existence of the particle and the good calorimet...
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliAnalysisTaskDeltaPt.h
index ffe59f48dbda41c92ffbc5cf8115fa7260e481a8..33502b197307b3e908c662f8b3f7c7687cbbd1bb 100644 (file)
@@ -8,6 +8,9 @@ class TString;
 class TH1;
 class TH2;
 class TH3;
+class AliJetContainer;
+class AliParticleContainer;
+class AliClusterContainer;
 
 #include "AliAnalysisTaskEmcalJet.h"
 
@@ -16,50 +19,49 @@ class AliAnalysisTaskDeltaPt : public AliAnalysisTaskEmcalJet {
 
   AliAnalysisTaskDeltaPt();
   AliAnalysisTaskDeltaPt(const char *name);
-  virtual ~AliAnalysisTaskDeltaPt();
+  virtual ~AliAnalysisTaskDeltaPt() {;}
 
   void                        UserCreateOutputObjects();
-  void                        Terminate(Option_t *option);
 
   void                        SetJetMinRC2LJ(Float_t d)                            { fMinRC2LJ                = d          ; }
-  void                        SetEmbJetsName(const char *n)                        { fEmbJetsName             = n          ; } 
-  void                        SetEmbTracksName(const char *n)                      { fEmbTracksName           = n          ; }
-  void                        SetEmbClusName(const char *n)                        { fEmbCaloName             = n          ; }
-  void                        SetRandTracksName(const char *n)                     { fRandTracksName          = n          ; }
-  void                        SetRandClusName(const char *n)                       { fRandCaloName            = n          ; }
   void                        SetRCperEvent(Int_t n)                               { fRCperEvent              = n          ; }
   void                        SetMCJetPtThreshold(Double_t t)                      { fMCJetPtThreshold        = t          ; }
+  void                        SetConeRadius(Double_t r)                            { fConeRadius              = r          ; }
+  void                        SetConeEtaPhiEMCAL() ;
+  void                        SetConeEtaPhiTPC()   ;
+  void                        SetConeEtaLimits(Float_t min, Float_t max)           { fConeMinEta = min, fConeMaxEta = max  ; }
+  void                        SetConePhiLimits(Float_t min, Float_t max)           { fConeMinPhi = min, fConeMaxPhi = max  ; }
 
  protected:
+  void                        AllocateHistogramArrays()                                                                     ;
   void                        ExecOnce()                                                                                    ;
   Bool_t                      FillHistograms()                                                                              ;
   void                        GetLeadingJets(Int_t &maxJetIndex, Int_t &max2JetIndex)                                       ;
-  AliEmcalJet*                NextEmbeddedJet(Int_t i=-1)                                                                   ;
+  AliEmcalJet*                NextEmbeddedJet(Bool_t reset=kFALSE)                                                          ;
   void                        DoEmbTrackLoop()                                                                              ;
   void                        DoEmbClusterLoop()                                                                            ;
-  void                        GetRandomCone(Float_t &pt, Float_t &eta, Float_t &phi, 
-                                           AliEmcalJet *jet = 0, TClonesArray* tracks = 0, TClonesArray* clusters = 0, Bool_t bPartialExclusion = 0) const;
+  void                        GetRandomCone(Float_t &pt, Float_t &eta, Float_t &phi, AliParticleContainer* tracks, AliClusterContainer* clusters,
+                                           AliEmcalJet *jet = 0, Bool_t bPartialExclusion = 0) const;
   Double_t                    GetNColl() const;
 
 
   Double_t                    fMCJetPtThreshold;           // threshold for MC jets
   Float_t                     fMinRC2LJ;                   // Minimum distance random cone to leading jet
-  TString                     fEmbJetsName;                // Name of embedded jet collection
-  TString                     fEmbTracksName;              // Name of embedded track collection
-  TString                     fEmbCaloName;                // Name of embedded calo cluster collection
-  TString                     fRandTracksName;             // Name of randomized track collection
-  TString                     fRandCaloName;               // Name of randomized calo cluster collection
   Int_t                       fRCperEvent;                 // No. of random cones per event
+  Double_t                    fConeRadius;                 // Radius of the random cones
+  Float_t                     fConeMinEta;                 // Minimum eta of the random cones
+  Float_t                     fConeMaxEta;                 // Maximum eta of the random cones
+  Float_t                     fConeMinPhi;                 // Minimum phi of the random cones
+  Float_t                     fConeMaxPhi;                 // Maximum phi of the random cones
 
-  TClonesArray               *fEmbJets;                    //!Embedded jets
-  TClonesArray               *fEmbTracks;                  //!Embedded tracks
-  TClonesArray               *fEmbCaloClusters;            //!Embedded clusters  
-  TClonesArray               *fRandTracks;                 //!Randomized tracks
-  TClonesArray               *fRandCaloClusters;           //!Randomized clusters
-  Int_t                       fEmbeddedClusterNIds;        //!Embedded cluster id count
-  Int_t                       fEmbeddedClusterIds[999];    //!Embedded cluster ids
-  Int_t                       fEmbeddedTrackNIds;          //!Embedded track id count
-  Int_t                       fEmbeddedTrackIds[999];      //!Embedded track ids
+  AliJetContainer            *fJetsCont;                   //!Jets
+  AliParticleContainer       *fTracksCont;                 //!Tracks
+  AliClusterContainer        *fCaloClustersCont;           //!Clusters  
+  AliJetContainer            *fEmbJetsCont;                //!Embedded jets
+  AliParticleContainer       *fEmbTracksCont;              //!Embedded tracks
+  AliClusterContainer        *fEmbCaloClustersCont;        //!Embedded clusters  
+  AliParticleContainer       *fRandTracksCont;             //!Randomized tracks
+  AliClusterContainer        *fRandCaloClustersCont;       //!Randomized clusters
 
   // Random cones
   TH2                        *fHistRCPhiEta;               //!Phi-Eta distribution of random cones
@@ -68,16 +70,12 @@ class AliAnalysisTaskDeltaPt : public AliAnalysisTaskEmcalJet {
   TH1                       **fHistRCPtExPartialLJ;        //!Random cone pt, imposing min distance from leading jet with 1/ncoll probability
   TH1                       **fHistRCPtRand;               //!Random cone pt, randomized particles
   TH2                       **fHistRhoVSRCPt;              //!Area(RC) * rho vs. Pt(RC)
-  TH1                       **fHistDeltaPtRC;              //!deltaPt = Pt(RC) - A * rho
+  TH2                       **fHistDeltaPtRCvsEP;          //!deltaPt = Pt(RC) - A * rho vs. event plane
   TH1                       **fHistDeltaPtRCExLJ;          //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet
   TH1                       **fHistDeltaPtRCExPartialLJ;   //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet with 1/ncoll probability
   TH1                       **fHistDeltaPtRCRand;          //!deltaPt = Pt(RC) - A * rho, randomzied particles
 
   // Jet embedding
-  TH1                       **fHistEmbNotFoundPt;          //!Pt of "not found" embedded particles
-  TH2                       **fHistEmbNotFoundPhiEta;      //!Phi-Eta of "not found" embedded particles
-  TH2                       **fHistEmbRejectedJetsPhiEta;  //!Phi-Eta of rejected embedded jets
-  TH1                       **fHistEmbRejectedJetsPtArea;  //!Pt-area of rejected embedded jets
   TH3                       **fHistEmbJetsPtArea;          //!Pt vs. area of embedded jets
   TH3                       **fHistEmbJetsCorrPtArea;      //!Pt-rho*A vs. area of embedded jets
   TH2                       **fHistEmbPartPtvsJetPt;       //!MC jet pt total jet pt
@@ -86,16 +84,17 @@ class AliAnalysisTaskDeltaPt : public AliAnalysisTaskEmcalJet {
   TH1                       **fHistDistLeadPart2JetAxis;   //!Distance between leading particle and jet axis
   TH2                       **fHistEmbBkgArea;             //!Pt(embjet) - Pt(embtrack) vs. area of embedded jets
   TH2                       **fHistRhoVSEmbBkg;            //!Area(embjet) * rho vs. Pt(embjet) - Pt(embtrack)
-  TH2                       **fHistDeltaPtEmbArea;         //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack)
+  TH2                       **fHistDeltaPtEmbArea;         //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack) vs. Area(embjet)
+  TH2                       **fHistDeltaPtEmbvsEP;         //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack) vs. event plane
   TH2                        *fHistRCPtExLJVSDPhiLJ;       //!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet
   TH2                        *fHistRCPtExPartialLJVSDPhiLJ;//!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet with 1/ncoll probability
-  TH2                        *fHistEmbJetsPhiEta;          //!Phi-Eta distribution of embedded jets<
+  TH2                        *fHistEmbJetsPhiEta;          //!Phi-Eta distribution of embedded jets
   TH2                        *fHistLeadPartPhiEta;         //!Phi-Eta distribution of the leading particle of embedded jets
 
  private:
   AliAnalysisTaskDeltaPt(const AliAnalysisTaskDeltaPt&);            // not implemented
   AliAnalysisTaskDeltaPt &operator=(const AliAnalysisTaskDeltaPt&); // not implemented
 
-  ClassDef(AliAnalysisTaskDeltaPt, 4) // deltaPt analysis task
+  ClassDef(AliAnalysisTaskDeltaPt, 5) // deltaPt analysis task
 };
 #endif