**************************************************************************/
//_________________________________________________________________________
-// 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>
}
//____________________________________________________________________________
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)
{
AliAnaCaloTriggerMC::~AliAnaCaloTriggerMC()
{
// dtor
- fOutputContainer->Clear() ;
- delete fOutputContainer ;
- delete fNtTrigger22 ;
- delete fNtTriggerNN ;
+ // fOutputContainer->Clear() ;
+ // delete fOutputContainer ;
+
}
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. ;
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() ;
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