added access to background jet branch - Adam M.
authorgconesab <Gustavo.Conesa.Balbastre@cern.ch>
Thu, 30 Jan 2014 08:22:47 +0000 (09:22 +0100)
committergconesab <Gustavo.Conesa.Balbastre@cern.ch>
Thu, 30 Jan 2014 08:23:14 +0000 (09:23 +0100)
PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrBaseClass.h
PWG/CaloTrackCorrBase/AliCaloTrackReader.cxx
PWG/CaloTrackCorrBase/AliCaloTrackReader.h

index 77d4ed9..99a5ace 100755 (executable)
@@ -40,6 +40,9 @@ class AliPHOSGeoUtils;
 class AliCentrality;
 class AliEventplane;
 
+//jets
+class AliAODJetEventBackground;
+
 class AliAnaCaloTrackCorrBaseClass : public TObject {
        
 public:   
@@ -123,7 +126,8 @@ public:
 
   //jets
   virtual TClonesArray*  GetNonStandardJets()              const { return fReader->GetNonStandardJets() ;}
-       
+  virtual AliAODJetEventBackground*  GetBackgroundJets()   const { return fReader->GetBackgroundJets() ;}
+
   // Common analysis switchs 
   
   virtual Bool_t         IsDataMC()                        const { return fDataMC                ; }
@@ -326,7 +330,7 @@ private:
   AliAnaCaloTrackCorrBaseClass(              const AliAnaCaloTrackCorrBaseClass & bc) ; // cpy ctor
   AliAnaCaloTrackCorrBaseClass & operator = (const AliAnaCaloTrackCorrBaseClass & bc) ; // cpy assignment
   
-  ClassDef(AliAnaCaloTrackCorrBaseClass,21)
+  ClassDef(AliAnaCaloTrackCorrBaseClass,22)
 } ;
 
 
index e1cd474..012795e 100755 (executable)
@@ -60,6 +60,7 @@
 #include "AliCaloTrackReader.h"
 // ---- Jets ----
 #include "AliAODJet.h"
+#include "AliAODJetEventBackground.h"
 
 ClassImp(AliCaloTrackReader)
 
@@ -130,6 +131,8 @@ fEventPlaneMethod(""),
 fAcceptOnlyHIJINGLabels(0),  fNMCProducedMin(0), fNMCProducedMax(0),
 fFillInputNonStandardJetBranch(kFALSE),
 fNonStandardJets(new TClonesArray("AliAODJet",100)),fInputNonStandardJetBranchName("jets"),
+fFillInputBackgroundJetBranch(kFALSE), 
+fBackgroundJets(0x0),fInputBackgroundJetBranchName("jets"),
 fAcceptEventsWithBit(0),     fRejectEventsWithBit(0)
 {
   //Ctor
@@ -192,7 +195,8 @@ AliCaloTrackReader::~AliCaloTrackReader()
     else               fNonStandardJets->Delete() ;
     delete fNonStandardJets ;
   }
-  
+  delete fBackgroundJets ;
+
   fRejectEventsWithBit.Reset();
   fAcceptEventsWithBit.Reset();
   
@@ -730,7 +734,10 @@ void AliCaloTrackReader::InitParameters()
   fInputNonStandardJetBranchName = "jets";
   fFillInputNonStandardJetBranch = kFALSE;
   if(!fNonStandardJets) fNonStandardJets = new TClonesArray("AliAODJet",100);
-  
+  fInputBackgroundJetBranchName = "jets";
+  fFillInputBackgroundJetBranch = kFALSE; 
+  if(!fBackgroundJets) fBackgroundJets = new AliAODJetEventBackground();
+
 }
 
 //___________________________________________________________________
@@ -1233,6 +1240,9 @@ Bool_t AliCaloTrackReader::FillInputEvent(Int_t iEntry, const char * /*curFileNa
   //one specified jet branch
   if(fFillInputNonStandardJetBranch)
     FillInputNonStandardJets();
+  if(fFillInputBackgroundJetBranch)
+    FillInputBackgroundJets();
+
   
   return kTRUE ;
 }
@@ -2034,6 +2044,44 @@ void AliCaloTrackReader::FillInputNonStandardJets()
   
 }
 
+//_________________________________________________
+void AliCaloTrackReader::FillInputBackgroundJets()
+{
+  //
+  //fill array with Background jets
+  //
+  // Adam T. Matyja
+  
+  if(fDebug > 2 ) printf("AliCaloTrackReader::FillInputBackgroundJets()\n");
+  //
+  //check if branch name is given
+  if(!fInputBackgroundJetBranchName.Length())
+  {
+    Printf("No background jet branch name specified. Specify among existing ones.");
+    fInputEvent->Print();
+    abort();
+  }
+  
+  fBackgroundJets = (AliAODJetEventBackground*)(fInputEvent->FindListObject(fInputBackgroundJetBranchName.Data()));
+  
+  if(!fBackgroundJets)
+  {
+    //check if jet branch exist; exit if not
+    Printf("%s:%d no reconstructed jet array with name %s in AOD", (char*)__FILE__,__LINE__,fInputBackgroundJetBranchName.Data());
+    fInputEvent->Print();
+    abort();
+  }
+  else
+  {
+    if(fDebug > 1){
+      printf("AliCaloTrackReader::FillInputBackgroundJets()\n");
+      fBackgroundJets->Print("");
+    }
+  }
+  
+}
+
+
 //________________________________________________
 Bool_t AliCaloTrackReader::CheckForPrimaryVertex()
 {
@@ -2601,7 +2649,8 @@ void AliCaloTrackReader::ResetLists()
   fV0Mul[0] = 0;   fV0Mul[1] = 0;
   
   if(fNonStandardJets) fNonStandardJets -> Clear("C");
-  
+  fBackgroundJets->Reset();
+
 }
 
 //___________________________________________
index d5b4a59..f2aac7e 100755 (executable)
@@ -41,6 +41,9 @@ class AliVCluster;
 class AliEMCALRecoUtils;
 class AliCalorimeterUtils;
 
+//jets
+class AliAODJetEventBackground;
+
 class AliCaloTrackReader : public TObject {
 
 public: 
@@ -585,11 +588,20 @@ public:
   void         SwitchOnNonStandardJets()                     { fFillInputNonStandardJetBranch = kTRUE  ; }
   void         SwitchOffNonStandardJets()                    { fFillInputNonStandardJetBranch = kFALSE ; }
   
+  Bool_t       IsBackgroundJetsSwitchedOn()           const { return fFillInputBackgroundJetBranch   ; }
+  void         SwitchOnBackgroundJets()                     { fFillInputBackgroundJetBranch = kTRUE  ; }
+  void         SwitchOffBackgroundJets()                    { fFillInputBackgroundJetBranch = kFALSE ; }
+
   virtual void FillInputNonStandardJets() ;
   virtual TClonesArray* GetNonStandardJets()            const { return fNonStandardJets                 ; }
   virtual void SetInputNonStandardJetBranchName(TString name) { fInputNonStandardJetBranchName   = name ; }
   virtual TString GetInputNonStandardJetBranchName()          { return fInputNonStandardJetBranchName   ; }
   
+  virtual void FillInputBackgroundJets() ;
+  virtual AliAODJetEventBackground* GetBackgroundJets() const { return fBackgroundJets                 ; }
+  virtual void SetInputBackgroundJetBranchName(TString name) { fInputBackgroundJetBranchName   = name ; }
+  virtual TString GetInputBackgroundJetBranchName()          { return fInputBackgroundJetBranchName   ; }
+
  protected:
   Int_t                   fEventNumber;               // Event number
   Int_t            fDataType ;                 // Select MC:Kinematics, Data:ESD/AOD, MCData:Both
@@ -765,14 +777,17 @@ public:
   Bool_t           fFillInputNonStandardJetBranch;  // Flag to use data from non standard jets
   TClonesArray *   fNonStandardJets;                //! temporal array with jets
   TString          fInputNonStandardJetBranchName;  // Name of non standard jet branch
-  
+  Bool_t           fFillInputBackgroundJetBranch;   // Flag to use data from background jets
+  AliAODJetEventBackground * fBackgroundJets;       //! background jets
+  TString          fInputBackgroundJetBranchName;   // Name of background jet branch
+
   TArrayI          fAcceptEventsWithBit;           // Accept events if trigger bit is on
   TArrayI          fRejectEventsWithBit;           // Reject events if trigger bit is on
 
   AliCaloTrackReader(              const AliCaloTrackReader & r) ; // cpy ctor
   AliCaloTrackReader & operator = (const AliCaloTrackReader & r) ; // cpy assignment
   
-  ClassDef(AliCaloTrackReader,64)
+  ClassDef(AliCaloTrackReader,65)
   
 } ;