Adding the possibility not to follow particle mothers during StepManager (default...
[u/mrichter/AliRoot.git] / JETAN / AliAnalysisTaskJetBackgroundSubtract.h
index b2bea0d..895b19b 100644 (file)
@@ -11,7 +11,6 @@
 #include  "AliAnalysisTaskSE.h"
 #include  "TObjString.h"
 #include  "TString.h"
-#include  "TObjArray.h"
 
 
 ////////////////
@@ -30,7 +29,7 @@ class TH3F;
 class TProfile;
 class TRandom3;
 class TRefArray;
-
+class TObjArray;
 
 class AliAnalysisTaskJetBackgroundSubtract : public AliAnalysisTaskSE
 {
@@ -47,17 +46,18 @@ class AliAnalysisTaskJetBackgroundSubtract : public AliAnalysisTaskSE
     virtual Bool_t Notify();
 
     // Task specific methods...
-    virtual void   AddJetBranch(const char* c){fJBArray->Add(new TObjString(c));}
+    virtual void   AddJetBranch(const char* c); 
     virtual void   SetSubtractionMethod(Int_t i){fSubtraction = i;}
     virtual Int_t  GetSubtractionMethod(){return fSubtraction;}
+    virtual void   SetKeepJets(Bool_t b = kTRUE){fKeepJets = b;}
     virtual void   SetBackgroundBranch(char* c){fBackgroundBranch = c;}  
-    virtual void   SetNonStdFile(char* c){fNonStdFile = c;}  
+    virtual void   SetNonStdOutputFile(char* c){fNonStdFile = c;}  
     virtual void   SetToReplace(char* c){fReplaceString1 = c;}  
     const char*    GetToReplace(){return fReplaceString1.Data();}  
     virtual void   SetReplacementMask(char* c){fReplaceString2 = c;}  
-    const char*   GetReplacementMask(){fReplaceString2.Data();}  
+    const char*    GetReplacementMask(){return fReplaceString2.Data();}  
    
-    enum {kNoSubtract = 0,kArea,k4Area,kRhoRecalc1};
+    enum {kNoSubtract = 0,kArea,k4Area,kRhoRecalc,kRhoRC};
  
  private:
 
@@ -66,7 +66,10 @@ class AliAnalysisTaskJetBackgroundSubtract : public AliAnalysisTaskSE
     AliAnalysisTaskJetBackgroundSubtract(const AliAnalysisTaskJetBackgroundSubtract&);
     AliAnalysisTaskJetBackgroundSubtract& operator=(const AliAnalysisTaskJetBackgroundSubtract&);
     Bool_t RescaleJetMomentum(AliAODJet *jet,Float_t pT);
-    
+    Bool_t RescaleJet4vector(AliAODJet *jet,TLorentzVector backgroundv);
+    Int_t  MultFromJetRefs(TClonesArray* jets);
+    Double_t RecalcRho(TClonesArray* fbkgclusters,Double_t meanarea);
+    Double_t RhoRC(TClonesArray* fbkgclustersRC);
     void ResetOutJets();
     void PrintAODContents();
 
@@ -80,11 +83,23 @@ class AliAnalysisTaskJetBackgroundSubtract : public AliAnalysisTaskSE
     TString         fReplaceString1;     // To construct the new output name  
     TString         fReplaceString2;     // To construct the new output name   
     Int_t           fSubtraction;       // Parameter for subtraction mode 
+    Bool_t          fKeepJets;          // keeps the jets with negative p_t rescaled to 0.1 GeV
     TList *fInJetArrayList; //! transient list to make ease the handling of input jets
     TList *fOutJetArrayList; //! transient list to make ease the reset of output jets
+
+    TH2F*         fh2CentvsRho;   //! centrality vs background density  
+    TH2F*         fh2CentvsSigma;   //! centrality vs background sigma  
+    TH2F*         fh2MultvsRho;   //! centrality vs background density  
+    TH2F*         fh2MultvsSigma;   //! centrality vs background sigma  
+    TH2F*         fh2ShiftEta;   //! extended correction Eta
+    TH2F*         fh2ShiftPhi;   //! extended correction Phi
+    TH2F*         fh2ShiftEtaLeading;   //! extended correction Eta leading jet
+    TH2F*         fh2ShiftPhiLeading;   //! extended correction Phi leading jet
+
     TList *fHistList; //! the histograms output list
    
-    ClassDef(AliAnalysisTaskJetBackgroundSubtract, 1) 
+    ClassDef(AliAnalysisTaskJetBackgroundSubtract, 7) 
 };
  
 #endif