]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/AliAnaCaloTriggerMC.cxx
Compilation on Windows/Cygwin
[u/mrichter/AliRoot.git] / PWG4 / AliAnaCaloTriggerMC.cxx
index d69b214fc5d58411b5759419deeca121e95c0a48..65540b19134e3596325aceac440a5dd026f4ce94 100644 (file)
  **************************************************************************/
 
 //_________________________________________________________________________
-// An analysis task to check the PHOS/EMCAL simulated trigger
+// An analysis task to check the trigger data in ESD with MC data
+// Creates an ntuple for 2x2 and NxN triggers
+// Each ntuple connects the maximum trigger amplitudes 
+// and its positions with reconstructed clusters and MC 
 //
-//*-- Yves Schutz & Gustavo Conesa Balbastre
+//*-- Yves Schutz (CERN) & Gustavo Conesa Balbastre (INFN-LNF)
 //////////////////////////////////////////////////////////////////////////////
 
 #include <TChain.h>
@@ -67,7 +70,7 @@ AliAnaCaloTriggerMC::AliAnaCaloTriggerMC(const char *name) :
 }
 //____________________________________________________________________________
 AliAnaCaloTriggerMC::AliAnaCaloTriggerMC(const AliAnaCaloTriggerMC & ct) : 
-  fChain(ct.fChain), fESD(ct.fESD),
+  AliAnalysisTask(ct),fChain(ct.fChain), fESD(ct.fESD),
   fOutputContainer(ct.fOutputContainer), fCalorimeter(ct. fCalorimeter),
   fNtTrigger22(ct.fNtTrigger22), fNtTriggerNN(ct.fNtTriggerNN)
 {
@@ -100,10 +103,9 @@ AliAnaCaloTriggerMC & AliAnaCaloTriggerMC::operator = (const AliAnaCaloTriggerMC
 AliAnaCaloTriggerMC::~AliAnaCaloTriggerMC()
 {
   // dtor
-  fOutputContainer->Clear() ; 
-  delete fOutputContainer ;
-  delete fNtTrigger22 ; 
-  delete fNtTriggerNN ; 
+  //  fOutputContainer->Clear() ; 
+  //  delete fOutputContainer ;
+
 }
 
 
@@ -193,18 +195,18 @@ void AliAnaCaloTriggerMC::Exec(Option_t *)
 
   if( triggerAmplitudes && triggerPosition ){
     // trigger amplitudes
-    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)) ; 
+    const Float_t ka22    = static_cast<Float_t>(triggerAmplitudes->At(0)) ; 
+    const Float_t ka22O   = static_cast<Float_t>(triggerAmplitudes->At(1)) ; 
+    const Float_t kaNN    = static_cast<Float_t>(triggerAmplitudes->At(2)) ; 
+    const Float_t kaNNO   = static_cast<Float_t>(triggerAmplitudes->At(3)) ; 
     
     // trigger position
-    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)) ;
-    const Float_t xNN  =  static_cast<Float_t>(triggerPosition->At(3)) ; 
-    const Float_t yNN  =  static_cast<Float_t>(triggerPosition->At(4)) ;
-    const Float_t zNN  =  static_cast<Float_t>(triggerPosition->At(5)) ; 
+    const Float_t kx22  =  static_cast<Float_t>(triggerPosition->At(0)) ; 
+    const Float_t ky22  =  static_cast<Float_t>(triggerPosition->At(1)) ;
+    const Float_t kz22  =  static_cast<Float_t>(triggerPosition->At(2)) ;
+    const Float_t kxNN  =  static_cast<Float_t>(triggerPosition->At(3)) ; 
+    const Float_t kyNN  =  static_cast<Float_t>(triggerPosition->At(4)) ;
+    const Float_t kzNN  =  static_cast<Float_t>(triggerPosition->At(5)) ; 
     
     Float_t enMax       = 0. ;
     Float_t phEnMax     = 0. ;
@@ -213,8 +215,8 @@ void AliAnaCaloTriggerMC::Exec(Option_t *)
     Float_t phEtaMax    = 0.5 ;
     Float_t phPhiMax    = 0. ; 
     
-    TVector3 vpos22(x22, y22, z22) ;
-    TVector3 vposNN(xNN, yNN, zNN) ;
+    TVector3 vpos22(kx22, ky22, kz22) ;
+    TVector3 vposNN(kxNN, kyNN, kzNN) ;
     Float_t eta22 = vpos22.Eta() ; 
     Float_t phi22 = vpos22.Phi() * TMath::RadToDeg() + 360. ; 
     Float_t etaNN = vposNN.Eta() ; 
@@ -262,8 +264,8 @@ void AliAnaCaloTriggerMC::Exec(Option_t *)
     if(labelmax < stack->GetNtrack() && labelmax >= 0 ){
       TParticle * particle = stack->Particle(labelmax); 
       Float_t ptgen = particle->Energy();
-      fNtTrigger22->Fill(a22, a22O, ptgen, enMax, phEnMax, eta22, phi22, etaMax, phiMax * TMath::RadToDeg() + 360., phEtaMax, phPhiMax * TMath::RadToDeg() + 360.);
-      fNtTriggerNN->Fill(aNN, aNNO, ptgen, enMax, phEnMax, etaNN, phiNN, etaMax, phiMax * TMath::RadToDeg() + 360., phEtaMax, phPhiMax * TMath::RadToDeg() + 360.);
+      fNtTrigger22->Fill(ka22, ka22O, ptgen, enMax, phEnMax, eta22, phi22, etaMax, phiMax * TMath::RadToDeg() + 360., phEtaMax, phPhiMax * TMath::RadToDeg() + 360.);
+      fNtTriggerNN->Fill(kaNN, kaNNO, ptgen, enMax, phEnMax, etaNN, phiNN, etaMax, phiMax * TMath::RadToDeg() + 360., phEtaMax, phPhiMax * TMath::RadToDeg() + 360.);
     }
     else AliDebug(1, Form("Wrong label %d, ntrack %d, Emax %f ",labelmax, stack->GetNtrack(), phEnMax));
   }//If trigger arrays filled