Replace AliTriggerPHOS by AliAnaCaloTrigger
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 5 Mar 2007 09:38:49 +0000 (09:38 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 5 Mar 2007 09:38:49 +0000 (09:38 +0000)
PWG4/AliAnaCaloTrigger.cxx [moved from PWG4/AliTriggerPHOS.cxx with 73% similarity]
PWG4/AliAnaCaloTrigger.h [moved from PWG4/AliTriggerPHOS.h with 68% similarity]
PWG4/PWG4GammaLinkDef.h
PWG4/libPWG4Gamma.pkg

similarity index 73%
rename from PWG4/AliTriggerPHOS.cxx
rename to PWG4/AliAnaCaloTrigger.cxx
index c5339f0..df93e60 100644 (file)
@@ -14,9 +14,9 @@
  **************************************************************************/
 
 //_________________________________________________________________________
-// An analysis task to check the PHOS photon data in simulated data
+// An analysis task to check the PHOS/EMCAL simulated trigger
 //
-//*-- Yves Schutz 
+//*-- Yves Schutz & Gustavo Conesa Balbastre
 //////////////////////////////////////////////////////////////////////////////
 
 #include <TChain.h>
 #include <TNtuple.h>
 #include <TVector3.h> 
 
-#include "AliTriggerPHOS.h" 
+#include "AliAnaCaloTrigger.h" 
 #include "AliESD.h" 
 #include "AliLog.h"
 
 //______________________________________________________________________________
-AliTriggerPHOS::AliTriggerPHOS(const char *name) : 
+AliAnaCaloTrigger::AliAnaCaloTrigger(const char *name) : 
   AliAnalysisTask(name,""),  
   fChain(0),
   fESD(0), 
   fOutputContainer(0),
+  fCalorimeter("PHOS"),
   fNtTrigger22(0), 
   fNtTriggerNN(0)
 
@@ -46,7 +47,7 @@ AliTriggerPHOS::AliTriggerPHOS(const char *name) :
 }
 
 //______________________________________________________________________________
-AliTriggerPHOS::~AliTriggerPHOS()
+AliAnaCaloTrigger::~AliAnaCaloTrigger()
 {
   // dtor
   fOutputContainer->Clear() ; 
@@ -57,7 +58,7 @@ AliTriggerPHOS::~AliTriggerPHOS()
 
 
 //______________________________________________________________________________
-void AliTriggerPHOS::ConnectInputData(const Option_t*)
+void AliAnaCaloTrigger::ConnectInputData(const Option_t*)
 {
   // Initialisation of branch container and histograms 
     
@@ -82,12 +83,12 @@ void AliTriggerPHOS::ConnectInputData(const Option_t*)
 
 //________________________________________________________________________
 
-void AliTriggerPHOS::CreateOutputObjects()
+void AliAnaCaloTrigger::CreateOutputObjects()
 {  
 
   // create histograms 
-  fNtTrigger22 = new TNtuple("PHOStrigger22", "Trigger data 2x2 patch", "a22:a220:enMax:phEnMax:eta22:phi22:etaMax:phiMax:phEtaMax:phPhiMax");
-  fNtTriggerNN = new TNtuple("PHOStriggerNN", "Trigger data NxN patch", "aNN:aNN0:enMax:phEnMax:etaNN:phiNN:etaMax:phiMax:phEtaMax:phPhiMax");
+  fNtTrigger22 = new TNtuple(fCalorimeter+"trigger22", "Trigger data 2x2 patch", "a22:a220:enMax:phEnMax:eta22:phi22:etaMax:phiMax:phEtaMax:phPhiMax");
+  fNtTriggerNN = new TNtuple(fCalorimeter+"triggerNN", "Trigger data NxN patch", "aNN:aNN0:enMax:phEnMax:etaNN:phiNN:etaMax:phiMax:phEtaMax:phPhiMax");
 
   // create output container
   
@@ -100,7 +101,7 @@ void AliTriggerPHOS::CreateOutputObjects()
 }
 
 //______________________________________________________________________________
-void AliTriggerPHOS::Exec(Option_t *) 
+void AliAnaCaloTrigger::Exec(Option_t *) 
 {
   // Processing of one event
   
@@ -114,18 +115,32 @@ void AliTriggerPHOS::Exec(Option_t *)
   if ( !((entry-1)%100) ) 
     AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
   
-  // ************************  PHOS *************************************
-  // Get trigger information 
+  // Get trigger information of fCalorimeter 
+  TArrayF * triggerAmplitudes = 0x0 ;
+  TArrayF * triggerPosition   = 0x0 ;
+  Int_t firstCaloCluster      = 0 ;
+  Int_t numberOfCaloClusters  = 0 ;
+
+  if(fCalorimeter == "PHOS"){
+    triggerAmplitudes      = fESD->GetPHOSTriggerAmplitudes();
+    triggerPosition        = fESD->GetPHOSTriggerPosition();
+    firstCaloCluster       = fESD->GetFirstPHOSCluster() ;
+    numberOfCaloClusters   = fESD->GetNumberOfPHOSClusters() ;
+  }
+  else if(fCalorimeter == "EMCAL"){
+    triggerAmplitudes    = fESD->GetEMCALTriggerAmplitudes();
+    triggerPosition      = fESD->GetEMCALTriggerPosition();
+    firstCaloCluster     = fESD->GetFirstEMCALCluster() ;
+    numberOfCaloClusters = fESD->GetNumberOfEMCALClusters() ;
+  }
   
   // trigger amplitudes
-  const TArrayF * triggerAmplitudes      = fESD->GetPHOSTriggerAmplitudes();
   const Float_t a22    = static_cast<Float_t>(triggerAmplitudes->At(0)) ; 
   const Float_t a22O   = static_cast<Float_t>(triggerAmplitudes->At(1)) ; 
   const Float_t aNN    = static_cast<Float_t>(triggerAmplitudes->At(2)) ; 
   const Float_t aNNO   = static_cast<Float_t>(triggerAmplitudes->At(3)) ; 
 
   // trigger position
-  const TArrayF * triggerPosition      = fESD->GetPHOSTriggerPosition();
   const Float_t x22  =  static_cast<Float_t>(triggerPosition->At(0)) ; 
   const Float_t y22  =  static_cast<Float_t>(triggerPosition->At(1)) ;
   const Float_t z22  =  static_cast<Float_t>(triggerPosition->At(2)) ;
@@ -133,8 +148,7 @@ void AliTriggerPHOS::Exec(Option_t *)
   const Float_t yNN  =  static_cast<Float_t>(triggerPosition->At(4)) ;
   const Float_t zNN  =  static_cast<Float_t>(triggerPosition->At(5)) ; 
   
-  Int_t       firstPhosCluster       = fESD->GetFirstPHOSCluster() ;
-  const Int_t numberOfPhosClusters   = fESD->GetNumberOfPHOSClusters() ;
    
   Float_t enMax       = 0. ;
   Float_t phEnMax     = 0. ;
@@ -150,19 +164,19 @@ void AliTriggerPHOS::Exec(Option_t *)
   Float_t etaNN = vposNN.Eta() ; 
   Float_t phiNN = vposNN.Phi() * TMath::RadToDeg() + 360. ; 
 
-  Int_t      phosCluster ; 
+  Int_t      icaloCluster ; 
   
-  // loop over the PHOS Cluster
+  // loop over the Calorimeters Clusters
   
-  for(phosCluster = firstPhosCluster ; phosCluster < firstPhosCluster + numberOfPhosClusters ; phosCluster++) {
-    AliESDCaloCluster * caloCluster = fESD->GetCaloCluster(phosCluster) ;
-    if (caloCluster) {
+  for(icaloCluster = firstCaloCluster ; icaloCluster < firstCaloCluster + numberOfCaloClusters ; icaloCluster++) {
+    AliESDCaloCluster * cluster = fESD->GetCaloCluster(icaloCluster) ;
+    if (cluster) {
 
-      Float_t cluEnergy = caloCluster->GetClusterEnergy() ; 
+      Float_t cluEnergy = cluster->GetClusterEnergy() ; 
       Float_t pos[3] ;
       TVector3 vpos ;
       
-      caloCluster->GetGlobalPosition( pos ) ;
+      cluster->GetGlobalPosition( pos ) ;
       
       if ( cluEnergy > enMax) { 
        enMax = cluEnergy ; 
@@ -171,7 +185,7 @@ void AliTriggerPHOS::Exec(Option_t *)
        phiMax = vpos.Phi() ; 
       }
 
-      Float_t * pid = caloCluster->GetPid() ;
+      Float_t * pid = cluster->GetPid() ;
       
       if(pid[AliPID::kPhoton] > 0.9) {
        if ( cluEnergy > phEnMax) { 
@@ -193,7 +207,7 @@ void AliTriggerPHOS::Exec(Option_t *)
 }
 
 //______________________________________________________________________________
-void AliTriggerPHOS::Terminate(Option_t *)
+void AliAnaCaloTrigger::Terminate(Option_t *)
 {
   // Processing when the event loop is ended
 
similarity index 68%
rename from PWG4/AliTriggerPHOS.h
rename to PWG4/AliAnaCaloTrigger.h
index 1acd822..64ef33b 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef ALIPHOSQATASK_H
-#define ALIPHOSQATASK_H
+#ifndef ALIANACALOTRIGGER_H
+#define ALIANACALOTRIGGER_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice     */
 //______________________________________________________________________________
@@ -16,27 +16,32 @@ class TNtuple ;
 class TH1D ; 
 class TH1I ; 
 
-class AliTriggerPHOS : public AliAnalysisTask {
+class AliAnaCaloTrigger : public AliAnalysisTask {
 
 public:
-  AliTriggerPHOS(const char *name) ;
-  virtual ~AliTriggerPHOS() ;
+  AliAnaCaloTrigger(const char *name) ;
+  virtual ~AliAnaCaloTrigger() ;
    
   virtual void Exec(Option_t * opt = "") ;
   virtual void ConnectInputData(Option_t *);
   virtual void CreateOutputObjects();
   virtual void Terminate(Option_t * opt = "") ;
 
+  TString GetCalorimeter()     const   {return fCalorimeter ; }
+  void    SetCalorimeter(TString calo) {fCalorimeter = calo ; }
+
 private:
   TTree   * fChain ;            //!pointer to the analyzed TTree or TChain
   AliESD  * fESD ;              //! Declaration of leave types
 
   TObjArray * fOutputContainer ; //! output data container
 
+  TString fCalorimeter ; // "PHOS" or "EMCAL"
+
   // Histograms
   TNtuple * fNtTrigger22 ;
   TNtuple * fNtTriggerNN ;
 
-  ClassDef(AliTriggerPHOS, 0); // a PHOS photon analysis task 
+  ClassDef(AliAnaCaloTrigger, 0); // a PHOS photon analysis task 
 };
-#endif // ALIPHOSQATASK_H
+#endif // ALIANACALOTRIGGER_H
index cbaae05..3880e66 100644 (file)
@@ -8,6 +8,6 @@
 #pragma link C++ class AliAnaGammaIsolCut+;
 #pragma link C++ class AliAnaGammaHadron+;
 #pragma link C++ class AliAnaGammaJet+;
-#pragma link C++ class AliTriggerPHOS+;
+#pragma link C++ class AliAnaCaloTrigger+;
 
 #endif
index 63b42ac..4cb4aeb 100644 (file)
@@ -1,4 +1,4 @@
-SRCS = AliAnaGammaDirect.cxx AliAnaGammaIsolCut.cxx AliAnaGammaHadron.cxx AliAnaGammaJet.cxx AliTriggerPHOS.cxx
+SRCS = AliAnaGammaDirect.cxx AliAnaGammaIsolCut.cxx AliAnaGammaHadron.cxx AliAnaGammaJet.cxx AliAnaCaloTrigger.cxx
 
 HDRS:= $(SRCS:.cxx=.h)