ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/
//
// Class for EMCAL PID
// Implements the abstract base class AliHFEpidBase
// IsInitialized() does the PID decision with energy and 
// momentum matching (e/p) 
// 
// Authors:
//  Shingo Sakai 
//   
//
//
#include <TMath.h>
#include "AliESDInputHandler.h"
#include "AliESDpid.h"

#include "AliHFEdetPIDqa.h"
#include "AliHFEpidEMCAL.h"
#include "AliHFEpidQAmanager.h"

#include "AliHFEemcalPIDqa.h"
//#include "AliVCluster.h"
//#include "AliVCaloCells.h"
//#include "AliVEvent.h"
#include "AliLog.h"
#include "AliPID.h"
//#include "AliESDEvent.h"
//#include "AliESDtrack.h"
#include "AliHFEpidEMCAL.h"

ClassImp(AliHFEpidEMCAL)

//___________________________________________________________________
AliHFEpidEMCAL::AliHFEpidEMCAL():
  AliHFEpidBase()
  , fPID(NULL)
  , feopMim(0.9)
  , feopMax(1.3)
{
  //
  // Constructor
  //
} 

//___________________________________________________________________
AliHFEpidEMCAL::AliHFEpidEMCAL(const Char_t *name):
  AliHFEpidBase(name)
  , fPID(NULL)
  , feopMim(0.9)
  , feopMax(1.3)
{
  //
  // Constructor
  //
}

//___________________________________________________________________
AliHFEpidEMCAL::AliHFEpidEMCAL(const AliHFEpidEMCAL &c):
  AliHFEpidBase("")
  , fPID(NULL)
  , feopMim(0.9)
  , feopMax(1.3)
{  
  // 
  // Copy operator
  //

  c.Copy(*this);
}
//___________________________________________________________________
AliHFEpidEMCAL &AliHFEpidEMCAL::operator=(const AliHFEpidEMCAL &ref){
  //
  // Assignment operator
  //

  if(this != &ref){
    ref.Copy(*this);
  }

  return *this;
}
//___________________________________________________________________
AliHFEpidEMCAL::~AliHFEpidEMCAL(){
  //
  // Destructor
  //
  if(fPID) delete fPID;
}
//___________________________________________________________________
void AliHFEpidEMCAL::Copy(TObject &ref) const {
  //
  // Performs the copying of the object
  //
  AliHFEpidEMCAL &target = dynamic_cast<AliHFEpidEMCAL &>(ref);

  target.fPID = fPID;          
  target.feopMax = feopMax;
  target.feopMim = feopMim;

  AliHFEpidBase::Copy(ref);
}
//___________________________________________________________________
Bool_t AliHFEpidEMCAL::InitializePID(Int_t /*run*/){
  //
  // InitializePID: EMCAL experts have to implement code here
  //
  return kTRUE;
}

//___________________________________________________________________
Int_t AliHFEpidEMCAL::IsSelected(const AliHFEpidObject *track, AliHFEpidQAmanager *pidqa) const
{ //Function to a return a code indicating whether or not an electron candidate is selected
  //
  //
  
  if(track==NULL)return 0;

  if(!fkPIDResponse) return 0;
  AliDebug(2, "PID object available");
  // EMCal not fESDpid  (s.s Feb. 11)
	
  const AliVTrack *trk = dynamic_cast<const AliVTrack *>(track->GetRecTrack());
  if (trk == NULL) return 0;
  //AliHFEpidObject::AnalysisType_t anaType = track->IsESDanalysis() ? AliHFEpidObject::kESDanalysis : AliHFEpidObject::kAODanalysis;
  if(!(trk->GetStatus() & AliESDtrack::kEMCALmatch)) return 0;
  AliDebug(2, "Track Has EMCAL PID");
  
  if(pidqa) 
  pidqa->ProcessTrack(track, AliHFEpid::kEMCALpid, AliHFEdetPIDqa::kBeforePID);
  // not QA for EMCal, will be added (s.s Feb. 11)


     double feopMimCut = 0.0; 
     double feopMaxCut = 0.0; 

     feopMimCut = feopMim;
     feopMaxCut = feopMax;

     if(feopMax >900)  // not use fix cut
       {
        feopMimCut = CalEopCutMim(track->GetRecTrack(),0);
        feopMaxCut = CalEopCutMax(track->GetRecTrack(),0); 
       }
     if(feopMax < -900)  // not use fix cut for MC
       {
        feopMimCut = CalEopCutMim(track->GetRecTrack(),1);
        feopMaxCut = CalEopCutMax(track->GetRecTrack(),1); 
       }

 //printf("eop cuts org; %g; %g \n",feopMim,feopMax);
 //printf("eop cuts ; %g; %g \n",feopMimCut,feopMaxCut);

  Double_t eop = MomentumEnergyMatchV2(track->GetRecTrack()); // get eop (What is GetRecTrack ?)
  AliDebug(2, Form("Energy - Momentum Matching e/p : %f", eop));
  AliDebug(2, Form("E/p cut ; %g ; %g \n", feopMim,feopMax));
  Int_t pdg = 0;
  //if(eop>feopMim && eop<feopMax){
  //if(eop>feopMim && eop<feopMax){
  if(eop>feopMimCut && eop<feopMaxCut){
    pdg = 11;
    //printf("eop cuts ; %g; %g ; %g\n",feopMimCut,feopMaxCut,eop);
    if(pidqa) 
    pidqa->ProcessTrack(track, AliHFEpid::kEMCALpid, AliHFEdetPIDqa::kAfterPID);
  }
  else
  {
   pdg = 211; // EMCal doesn't separate pi,k.p by e/p. return pion code as same as TRD
  } 

    AliDebug(1, Form("eID %g ; %d \n",eop,pdg));  
    //printf("eID %g ; %d \n",eop,pdg);  

  return pdg;
}


//__________________________________________________________________________
Double_t AliHFEpidEMCAL::CalEopCutMax(const AliVParticle *const track, Int_t flageop) const
{
 // max nSig cuts for 10d

  double maxCut = 0.0;
  const AliESDtrack *esdtrack = dynamic_cast<const AliESDtrack *>(track);
  if(esdtrack==NULL)return maxCut;
  double pt = esdtrack->Pt();

  if(flageop<0.5)
    { //<--- new para for updated non-liniarity
     double meanP[3] = {1.08833e+00,1.17837e+00,7.47923e-02}; 
     double sigP[3] = {9.93208e-05,7.13074e-04,2.45145e-04}; 
     double mean = meanP[0]*tanh(meanP[1]+meanP[2]*pt); 
     double sig = sigP[0]/tanh(sigP[1]+sigP[2]*pt); 
     maxCut = mean+3.0*sig; 
    }
  else
    {
     double meanP[3] = {9.94183e-01,1.23952e+00,3.55571e-01}; 
     double sigP[3] = {4.61207e-02,-3.39978e-02,4.26198e-01}; 
     double mean = meanP[0]*tanh(meanP[1]+meanP[2]*pt); 
     double sig = sigP[0]/tanh(sigP[1]+sigP[2]*pt); 
     maxCut = mean+3.0*sig; 
    }

  //printf("eop cuts org; %g; %g ; %g\n",feopMim,feopMax,pt);

     return maxCut;
}

Double_t AliHFEpidEMCAL::CalEopCutMim(const AliVParticle *const track, Int_t flageop) const
{
 // mim nsig cuts for 10d
  double mimCut = 0.0;
  const AliESDtrack *esdtrack = dynamic_cast<const AliESDtrack *>(track);
  if(esdtrack==NULL)return mimCut;
  double pt = esdtrack->Pt();

  if(flageop<0.5) // real
     { 
      //printf("real"); 
     double meanP[3] = {1.08833e+00,1.17837e+00,7.47923e-02}; 
     double sigP[3] = {9.93208e-05,7.13074e-04,2.45145e-04}; 
     double mean = meanP[0]*tanh(meanP[1]+meanP[2]*pt); 
     double sig = sigP[0]/tanh(sigP[1]+sigP[2]*pt); 
     mimCut = mean-3.0*sig;
    }
   else // MC
    { 
      //printf("MC"); 
     double meanP[3] = {9.94183e-01,1.23952e+00,3.55571e-01}; 
     double sigP[3] = {4.61207e-02,-3.39978e-02,4.26198e-01}; 
     double mean = meanP[0]*tanh(meanP[1]+meanP[2]*pt); 
     double sig = sigP[0]/tanh(sigP[1]+sigP[2]*pt); 
     mimCut = mean-3.0*sig;
    }
     return mimCut;
}

//___________________________________________________________________________
Double_t AliHFEpidEMCAL::MomentumEnergyMatchV2(const AliVParticle *const track) const
{ // Returns e/p & Rmatch

  Double_t matchclsE = 9999.9;
  double feop = -9999.9;

  const AliESDtrack *esdtrack = dynamic_cast<const AliESDtrack *>(track);
  if(esdtrack==NULL)return feop;
  const AliESDEvent *evt = esdtrack->GetESDEvent();

   Int_t icl = esdtrack->GetEMCALcluster();

   AliVCluster *cluster = (AliVCluster*) evt->GetCaloCluster(icl);
   if(cluster==NULL) {return feop;}
   if(!cluster->IsEMCAL()) {return feop;}

       matchclsE = cluster->E();

   if(matchclsE<9999.0) feop = matchclsE/esdtrack->P();

   return feop;

}


/*
//____________________________________________________________________________________
Double_t AliHFEpidEMCAL::MomentumEnergyMatchV1(const AliVParticle *track) const
{ // Returns e/p if an electron is matched

  Float_t  clsPos[3];
  Double_t trkPos[3];
  Double_t matchclsE = 9999.9;

  const AliESDtrack *esdtrack = dynamic_cast<const AliESDtrack *>(track);
  AliESDEvent *evt = esdtrack->GetESDEvent();
  Double_t  magF = evt->GetMagneticField();
  Double_t magSign = 1.0;
  if(magF<0)magSign = -1.0;
  //printf("magF ; %g ; %g \n", magF,magSign);
 
  if (!TGeoGlobalMagField::Instance()->GetField()) {
	  printf("Loading field map...\n");
	  //AliMagF* field = new AliMagF("Maps","Maps", 1., 1., AliMagF::k5kG);
	  AliMagF* field = new AliMagF("Maps","Maps", magSign, magSign, AliMagF::k5kG); // for 10d
	  TGeoGlobalMagField::Instance()->SetField(field);
	            }

  AliEMCALTrack *emctrack = new AliEMCALTrack(*esdtrack);
  Double_t fieldB[3]; 
  emctrack->GetBxByBz(fieldB);
  //printf("%g %g %g \n", fieldB[0], fieldB[1], fieldB[2]);

  for(Int_t icl=0; icl<evt->GetNumberOfCaloClusters(); icl++)
   {

   AliVCluster *cluster = (AliVCluster*) evt->GetCaloCluster(icl);
   if(!cluster->IsEMCAL()) continue;

   cluster->GetPosition(clsPos);
   if(!emctrack->PropagateToGlobal(clsPos[0],clsPos[1],clsPos[2],0.,0.) )  continue;
   emctrack->GetXYZ(trkPos);

   TVector3 clsPosVec(clsPos[0],clsPos[1],clsPos[2]);
   TVector3 trkPosVec(trkPos[0],trkPos[1],trkPos[2]);

   Double_t delEmcphi = clsPosVec.Phi()-trkPosVec.Phi();  // track cluster matching
   Double_t delEmceta = clsPosVec.Eta()-trkPosVec.Eta();  // track cluster matching

   double rmatch = sqrt(pow(delEmcphi,2)+pow(delEmceta,2));

   if(rmatch<0.02)
      {
       matchclsE = cluster->E();
      }
  }
   delete emctrack;

   double feop = -9999.9;
   if(matchclsE<9999) feop = matchclsE/esdtrack->P();

   //   if(feop!=-9999.9)printf("%f\n",feop) ; 
   return feop;

}
*/

 AliHFEpidEMCAL.cxx:1
 AliHFEpidEMCAL.cxx:2
 AliHFEpidEMCAL.cxx:3
 AliHFEpidEMCAL.cxx:4
 AliHFEpidEMCAL.cxx:5
 AliHFEpidEMCAL.cxx:6
 AliHFEpidEMCAL.cxx:7
 AliHFEpidEMCAL.cxx:8
 AliHFEpidEMCAL.cxx:9
 AliHFEpidEMCAL.cxx:10
 AliHFEpidEMCAL.cxx:11
 AliHFEpidEMCAL.cxx:12
 AliHFEpidEMCAL.cxx:13
 AliHFEpidEMCAL.cxx:14
 AliHFEpidEMCAL.cxx:15
 AliHFEpidEMCAL.cxx:16
 AliHFEpidEMCAL.cxx:17
 AliHFEpidEMCAL.cxx:18
 AliHFEpidEMCAL.cxx:19
 AliHFEpidEMCAL.cxx:20
 AliHFEpidEMCAL.cxx:21
 AliHFEpidEMCAL.cxx:22
 AliHFEpidEMCAL.cxx:23
 AliHFEpidEMCAL.cxx:24
 AliHFEpidEMCAL.cxx:25
 AliHFEpidEMCAL.cxx:26
 AliHFEpidEMCAL.cxx:27
 AliHFEpidEMCAL.cxx:28
 AliHFEpidEMCAL.cxx:29
 AliHFEpidEMCAL.cxx:30
 AliHFEpidEMCAL.cxx:31
 AliHFEpidEMCAL.cxx:32
 AliHFEpidEMCAL.cxx:33
 AliHFEpidEMCAL.cxx:34
 AliHFEpidEMCAL.cxx:35
 AliHFEpidEMCAL.cxx:36
 AliHFEpidEMCAL.cxx:37
 AliHFEpidEMCAL.cxx:38
 AliHFEpidEMCAL.cxx:39
 AliHFEpidEMCAL.cxx:40
 AliHFEpidEMCAL.cxx:41
 AliHFEpidEMCAL.cxx:42
 AliHFEpidEMCAL.cxx:43
 AliHFEpidEMCAL.cxx:44
 AliHFEpidEMCAL.cxx:45
 AliHFEpidEMCAL.cxx:46
 AliHFEpidEMCAL.cxx:47
 AliHFEpidEMCAL.cxx:48
 AliHFEpidEMCAL.cxx:49
 AliHFEpidEMCAL.cxx:50
 AliHFEpidEMCAL.cxx:51
 AliHFEpidEMCAL.cxx:52
 AliHFEpidEMCAL.cxx:53
 AliHFEpidEMCAL.cxx:54
 AliHFEpidEMCAL.cxx:55
 AliHFEpidEMCAL.cxx:56
 AliHFEpidEMCAL.cxx:57
 AliHFEpidEMCAL.cxx:58
 AliHFEpidEMCAL.cxx:59
 AliHFEpidEMCAL.cxx:60
 AliHFEpidEMCAL.cxx:61
 AliHFEpidEMCAL.cxx:62
 AliHFEpidEMCAL.cxx:63
 AliHFEpidEMCAL.cxx:64
 AliHFEpidEMCAL.cxx:65
 AliHFEpidEMCAL.cxx:66
 AliHFEpidEMCAL.cxx:67
 AliHFEpidEMCAL.cxx:68
 AliHFEpidEMCAL.cxx:69
 AliHFEpidEMCAL.cxx:70
 AliHFEpidEMCAL.cxx:71
 AliHFEpidEMCAL.cxx:72
 AliHFEpidEMCAL.cxx:73
 AliHFEpidEMCAL.cxx:74
 AliHFEpidEMCAL.cxx:75
 AliHFEpidEMCAL.cxx:76
 AliHFEpidEMCAL.cxx:77
 AliHFEpidEMCAL.cxx:78
 AliHFEpidEMCAL.cxx:79
 AliHFEpidEMCAL.cxx:80
 AliHFEpidEMCAL.cxx:81
 AliHFEpidEMCAL.cxx:82
 AliHFEpidEMCAL.cxx:83
 AliHFEpidEMCAL.cxx:84
 AliHFEpidEMCAL.cxx:85
 AliHFEpidEMCAL.cxx:86
 AliHFEpidEMCAL.cxx:87
 AliHFEpidEMCAL.cxx:88
 AliHFEpidEMCAL.cxx:89
 AliHFEpidEMCAL.cxx:90
 AliHFEpidEMCAL.cxx:91
 AliHFEpidEMCAL.cxx:92
 AliHFEpidEMCAL.cxx:93
 AliHFEpidEMCAL.cxx:94
 AliHFEpidEMCAL.cxx:95
 AliHFEpidEMCAL.cxx:96
 AliHFEpidEMCAL.cxx:97
 AliHFEpidEMCAL.cxx:98
 AliHFEpidEMCAL.cxx:99
 AliHFEpidEMCAL.cxx:100
 AliHFEpidEMCAL.cxx:101
 AliHFEpidEMCAL.cxx:102
 AliHFEpidEMCAL.cxx:103
 AliHFEpidEMCAL.cxx:104
 AliHFEpidEMCAL.cxx:105
 AliHFEpidEMCAL.cxx:106
 AliHFEpidEMCAL.cxx:107
 AliHFEpidEMCAL.cxx:108
 AliHFEpidEMCAL.cxx:109
 AliHFEpidEMCAL.cxx:110
 AliHFEpidEMCAL.cxx:111
 AliHFEpidEMCAL.cxx:112
 AliHFEpidEMCAL.cxx:113
 AliHFEpidEMCAL.cxx:114
 AliHFEpidEMCAL.cxx:115
 AliHFEpidEMCAL.cxx:116
 AliHFEpidEMCAL.cxx:117
 AliHFEpidEMCAL.cxx:118
 AliHFEpidEMCAL.cxx:119
 AliHFEpidEMCAL.cxx:120
 AliHFEpidEMCAL.cxx:121
 AliHFEpidEMCAL.cxx:122
 AliHFEpidEMCAL.cxx:123
 AliHFEpidEMCAL.cxx:124
 AliHFEpidEMCAL.cxx:125
 AliHFEpidEMCAL.cxx:126
 AliHFEpidEMCAL.cxx:127
 AliHFEpidEMCAL.cxx:128
 AliHFEpidEMCAL.cxx:129
 AliHFEpidEMCAL.cxx:130
 AliHFEpidEMCAL.cxx:131
 AliHFEpidEMCAL.cxx:132
 AliHFEpidEMCAL.cxx:133
 AliHFEpidEMCAL.cxx:134
 AliHFEpidEMCAL.cxx:135
 AliHFEpidEMCAL.cxx:136
 AliHFEpidEMCAL.cxx:137
 AliHFEpidEMCAL.cxx:138
 AliHFEpidEMCAL.cxx:139
 AliHFEpidEMCAL.cxx:140
 AliHFEpidEMCAL.cxx:141
 AliHFEpidEMCAL.cxx:142
 AliHFEpidEMCAL.cxx:143
 AliHFEpidEMCAL.cxx:144
 AliHFEpidEMCAL.cxx:145
 AliHFEpidEMCAL.cxx:146
 AliHFEpidEMCAL.cxx:147
 AliHFEpidEMCAL.cxx:148
 AliHFEpidEMCAL.cxx:149
 AliHFEpidEMCAL.cxx:150
 AliHFEpidEMCAL.cxx:151
 AliHFEpidEMCAL.cxx:152
 AliHFEpidEMCAL.cxx:153
 AliHFEpidEMCAL.cxx:154
 AliHFEpidEMCAL.cxx:155
 AliHFEpidEMCAL.cxx:156
 AliHFEpidEMCAL.cxx:157
 AliHFEpidEMCAL.cxx:158
 AliHFEpidEMCAL.cxx:159
 AliHFEpidEMCAL.cxx:160
 AliHFEpidEMCAL.cxx:161
 AliHFEpidEMCAL.cxx:162
 AliHFEpidEMCAL.cxx:163
 AliHFEpidEMCAL.cxx:164
 AliHFEpidEMCAL.cxx:165
 AliHFEpidEMCAL.cxx:166
 AliHFEpidEMCAL.cxx:167
 AliHFEpidEMCAL.cxx:168
 AliHFEpidEMCAL.cxx:169
 AliHFEpidEMCAL.cxx:170
 AliHFEpidEMCAL.cxx:171
 AliHFEpidEMCAL.cxx:172
 AliHFEpidEMCAL.cxx:173
 AliHFEpidEMCAL.cxx:174
 AliHFEpidEMCAL.cxx:175
 AliHFEpidEMCAL.cxx:176
 AliHFEpidEMCAL.cxx:177
 AliHFEpidEMCAL.cxx:178
 AliHFEpidEMCAL.cxx:179
 AliHFEpidEMCAL.cxx:180
 AliHFEpidEMCAL.cxx:181
 AliHFEpidEMCAL.cxx:182
 AliHFEpidEMCAL.cxx:183
 AliHFEpidEMCAL.cxx:184
 AliHFEpidEMCAL.cxx:185
 AliHFEpidEMCAL.cxx:186
 AliHFEpidEMCAL.cxx:187
 AliHFEpidEMCAL.cxx:188
 AliHFEpidEMCAL.cxx:189
 AliHFEpidEMCAL.cxx:190
 AliHFEpidEMCAL.cxx:191
 AliHFEpidEMCAL.cxx:192
 AliHFEpidEMCAL.cxx:193
 AliHFEpidEMCAL.cxx:194
 AliHFEpidEMCAL.cxx:195
 AliHFEpidEMCAL.cxx:196
 AliHFEpidEMCAL.cxx:197
 AliHFEpidEMCAL.cxx:198
 AliHFEpidEMCAL.cxx:199
 AliHFEpidEMCAL.cxx:200
 AliHFEpidEMCAL.cxx:201
 AliHFEpidEMCAL.cxx:202
 AliHFEpidEMCAL.cxx:203
 AliHFEpidEMCAL.cxx:204
 AliHFEpidEMCAL.cxx:205
 AliHFEpidEMCAL.cxx:206
 AliHFEpidEMCAL.cxx:207
 AliHFEpidEMCAL.cxx:208
 AliHFEpidEMCAL.cxx:209
 AliHFEpidEMCAL.cxx:210
 AliHFEpidEMCAL.cxx:211
 AliHFEpidEMCAL.cxx:212
 AliHFEpidEMCAL.cxx:213
 AliHFEpidEMCAL.cxx:214
 AliHFEpidEMCAL.cxx:215
 AliHFEpidEMCAL.cxx:216
 AliHFEpidEMCAL.cxx:217
 AliHFEpidEMCAL.cxx:218
 AliHFEpidEMCAL.cxx:219
 AliHFEpidEMCAL.cxx:220
 AliHFEpidEMCAL.cxx:221
 AliHFEpidEMCAL.cxx:222
 AliHFEpidEMCAL.cxx:223
 AliHFEpidEMCAL.cxx:224
 AliHFEpidEMCAL.cxx:225
 AliHFEpidEMCAL.cxx:226
 AliHFEpidEMCAL.cxx:227
 AliHFEpidEMCAL.cxx:228
 AliHFEpidEMCAL.cxx:229
 AliHFEpidEMCAL.cxx:230
 AliHFEpidEMCAL.cxx:231
 AliHFEpidEMCAL.cxx:232
 AliHFEpidEMCAL.cxx:233
 AliHFEpidEMCAL.cxx:234
 AliHFEpidEMCAL.cxx:235
 AliHFEpidEMCAL.cxx:236
 AliHFEpidEMCAL.cxx:237
 AliHFEpidEMCAL.cxx:238
 AliHFEpidEMCAL.cxx:239
 AliHFEpidEMCAL.cxx:240
 AliHFEpidEMCAL.cxx:241
 AliHFEpidEMCAL.cxx:242
 AliHFEpidEMCAL.cxx:243
 AliHFEpidEMCAL.cxx:244
 AliHFEpidEMCAL.cxx:245
 AliHFEpidEMCAL.cxx:246
 AliHFEpidEMCAL.cxx:247
 AliHFEpidEMCAL.cxx:248
 AliHFEpidEMCAL.cxx:249
 AliHFEpidEMCAL.cxx:250
 AliHFEpidEMCAL.cxx:251
 AliHFEpidEMCAL.cxx:252
 AliHFEpidEMCAL.cxx:253
 AliHFEpidEMCAL.cxx:254
 AliHFEpidEMCAL.cxx:255
 AliHFEpidEMCAL.cxx:256
 AliHFEpidEMCAL.cxx:257
 AliHFEpidEMCAL.cxx:258
 AliHFEpidEMCAL.cxx:259
 AliHFEpidEMCAL.cxx:260
 AliHFEpidEMCAL.cxx:261
 AliHFEpidEMCAL.cxx:262
 AliHFEpidEMCAL.cxx:263
 AliHFEpidEMCAL.cxx:264
 AliHFEpidEMCAL.cxx:265
 AliHFEpidEMCAL.cxx:266
 AliHFEpidEMCAL.cxx:267
 AliHFEpidEMCAL.cxx:268
 AliHFEpidEMCAL.cxx:269
 AliHFEpidEMCAL.cxx:270
 AliHFEpidEMCAL.cxx:271
 AliHFEpidEMCAL.cxx:272
 AliHFEpidEMCAL.cxx:273
 AliHFEpidEMCAL.cxx:274
 AliHFEpidEMCAL.cxx:275
 AliHFEpidEMCAL.cxx:276
 AliHFEpidEMCAL.cxx:277
 AliHFEpidEMCAL.cxx:278
 AliHFEpidEMCAL.cxx:279
 AliHFEpidEMCAL.cxx:280
 AliHFEpidEMCAL.cxx:281
 AliHFEpidEMCAL.cxx:282
 AliHFEpidEMCAL.cxx:283
 AliHFEpidEMCAL.cxx:284
 AliHFEpidEMCAL.cxx:285
 AliHFEpidEMCAL.cxx:286
 AliHFEpidEMCAL.cxx:287
 AliHFEpidEMCAL.cxx:288
 AliHFEpidEMCAL.cxx:289
 AliHFEpidEMCAL.cxx:290
 AliHFEpidEMCAL.cxx:291
 AliHFEpidEMCAL.cxx:292
 AliHFEpidEMCAL.cxx:293
 AliHFEpidEMCAL.cxx:294
 AliHFEpidEMCAL.cxx:295
 AliHFEpidEMCAL.cxx:296
 AliHFEpidEMCAL.cxx:297
 AliHFEpidEMCAL.cxx:298
 AliHFEpidEMCAL.cxx:299
 AliHFEpidEMCAL.cxx:300
 AliHFEpidEMCAL.cxx:301
 AliHFEpidEMCAL.cxx:302
 AliHFEpidEMCAL.cxx:303
 AliHFEpidEMCAL.cxx:304
 AliHFEpidEMCAL.cxx:305
 AliHFEpidEMCAL.cxx:306
 AliHFEpidEMCAL.cxx:307
 AliHFEpidEMCAL.cxx:308
 AliHFEpidEMCAL.cxx:309
 AliHFEpidEMCAL.cxx:310
 AliHFEpidEMCAL.cxx:311
 AliHFEpidEMCAL.cxx:312
 AliHFEpidEMCAL.cxx:313
 AliHFEpidEMCAL.cxx:314
 AliHFEpidEMCAL.cxx:315
 AliHFEpidEMCAL.cxx:316
 AliHFEpidEMCAL.cxx:317
 AliHFEpidEMCAL.cxx:318
 AliHFEpidEMCAL.cxx:319
 AliHFEpidEMCAL.cxx:320
 AliHFEpidEMCAL.cxx:321
 AliHFEpidEMCAL.cxx:322
 AliHFEpidEMCAL.cxx:323
 AliHFEpidEMCAL.cxx:324
 AliHFEpidEMCAL.cxx:325
 AliHFEpidEMCAL.cxx:326
 AliHFEpidEMCAL.cxx:327
 AliHFEpidEMCAL.cxx:328
 AliHFEpidEMCAL.cxx:329
 AliHFEpidEMCAL.cxx:330
 AliHFEpidEMCAL.cxx:331
 AliHFEpidEMCAL.cxx:332
 AliHFEpidEMCAL.cxx:333
 AliHFEpidEMCAL.cxx:334
 AliHFEpidEMCAL.cxx:335
 AliHFEpidEMCAL.cxx:336
 AliHFEpidEMCAL.cxx:337
 AliHFEpidEMCAL.cxx:338