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.                  *
 **************************************************************************/

//
// Create a new AOD starting from the general AOD. This Task can be used also strating 
//from ESD changing the input handler. (Method to be testeted on the grid)
// filtering of the ESD. 
//
// Authors: S. Bufalino (stefania.bufalino@cern.ch)
//          R. Lea      (ramona.lea@cern.ch)
// Based on AliAnalysisTaskESDMuonFilter.cxx  
//
// (see AddFilteredAOD method)
//

#include "AliAnalysisTaskESDNuclExFilterMC.h"

#include "AliAODEvent.h"
#include "AliAODHandler.h"
#include "AliAODExtension.h"
#include "AliAODMCParticle.h"
#include "AliAODMCNuclExReplicator.h"
#include "AliAODVertex.h"
#include "AliAnalysisFilter.h"
#include "AliAnalysisManager.h"
#include "AliCodeTimer.h"
#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliESDMuonTrack.h"
#include "AliESDVertex.h"
#include "AliESDtrack.h"
#include "AliLog.h"
#include "AliMCEvent.h"
#include "AliMCEventHandler.h"
#include "AliMultiplicity.h"
#include <TChain.h>
#include <TFile.h>
#include <TParticle.h>
#include "AliESDtrackCuts.h"
#include "AliAODTrack.h"
#include "AliAODPid.h"
#include "TF1.h"
//#include "AliPIDResponse.h"

using std::cout;
using std::endl;
ClassImp(AliAnalysisTaskESDNuclExFilterMC)

////////////////////////////////////////////////////////////////////////

AliAnalysisTaskESDNuclExFilterMC::AliAnalysisTaskESDNuclExFilterMC(Bool_t onlyMuon, Bool_t keepAllEvents, Int_t mcMode, Int_t nsigmaTrk1,Int_t nsigmaTrk2, Int_t partType1,Int_t partType2):
  AliAnalysisTaskSE(),
  fTrackFilter(0x0),
  fEnableMuonAOD(kTRUE),
  fEnableDimuonAOD(kTRUE),
  fOnlyMuon(onlyMuon),
  fKeepAllEvents(keepAllEvents),
  fMCMode(mcMode),
  fnSigmaTrk1(nsigmaTrk1),
  fnSigmaTrk2(nsigmaTrk2),
  fpartType1(partType1),
  fpartType2(partType2),
  murep(0x0)
{
  // Default constructor
}

AliAnalysisTaskESDNuclExFilterMC::AliAnalysisTaskESDNuclExFilterMC(const char* name, Bool_t onlyMuon, Bool_t keepAllEvents, Int_t mcMode, Int_t nsigmaTrk1,Int_t nsigmaTrk2, Int_t partType1,Int_t partType2):
  AliAnalysisTaskSE(name),
  fTrackFilter(0x0),
  fEnableMuonAOD(kTRUE),
  fEnableDimuonAOD(kTRUE),
  fOnlyMuon(onlyMuon),
  fKeepAllEvents(keepAllEvents),
  fMCMode(mcMode),
  fnSigmaTrk1(nsigmaTrk1),
  fnSigmaTrk2(nsigmaTrk2),
  fpartType1(partType1),
  fpartType2(partType2),
  murep(0x0)
  
{
  // Constructor
}

//______________________________________________________________________________
void AliAnalysisTaskESDNuclExFilterMC::UserCreateOutputObjects()
{
  
  // Create the output container
  if (fTrackFilter) OutputTree()->GetUserInfo()->Add(fTrackFilter);

}

//______________________________________________________________________________
void AliAnalysisTaskESDNuclExFilterMC::PrintTask(Option_t *option, Int_t indent) const
{
  // Specify how we are configured
  
  AliAnalysisTaskSE::PrintTask(option,indent);
  
  TString spaces(' ',indent+3);
  
  if ( fOnlyMuon ) 
    {
      cout << spaces.Data() << "Keep only muon information " << endl;        
    }
  else 
    {
      cout << spaces.Data() << "Keep all information from standard AOD" << endl;
    }
  
  if ( fKeepAllEvents ) 
    {
      cout << spaces.Data() << "Keep all events, regardless of number of muons" << endl;    
    }
  else 
    {
      cout << spaces.Data() << "Keep only events with at least one muon" << endl;
    }
  
  if ( fMCMode > 0 ) 
    {
      cout << spaces.Data() << "Assuming work on MC data (i.e. will transmit MC branches)" << endl;
    }
}

//______________________________________________________________________________
void AliAnalysisTaskESDNuclExFilterMC::AddFilteredAOD(const char* aodfilename, const char* title, Bool_t toMerge)
{
  
  //cout<<"Entro ne ADDFILTETEDAOD"<<endl;

  AliAODHandler *aodH = (AliAODHandler*)((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
  if (!aodH) Fatal("UserCreateOutputObjects", "No AOD handler");

  if(aodH){

    AliAODExtension* ext = aodH->AddFilteredAOD(aodfilename,title,toMerge);
    
    if (!ext) return;
    
    if ( fOnlyMuon ) 
      {    
	
	if(!murep)delete murep;
	
	murep = new AliAODMCNuclExReplicator("NuclExReplicator",
					     "remove non interesting tracks",
					     fMCMode,fnSigmaTrk1,fnSigmaTrk2,fpartType1,fpartType2);
	
	
	ext->DropUnspecifiedBranches(); // all branches not part of a FilterBranch call (below) will be dropped
	
	ext->FilterBranch("header",murep);    
	ext->FilterBranch("vertices",murep);    
	ext->FilterBranch("nuclei",murep);  
	ext->FilterBranch("secvertices",murep); //per test
	ext->FilterBranch("daughtertracks",murep);
	
	//cout<<"add filterd aod"<<endl;
	
	if ( fMCMode > 0 ) 
	  {
	    // MC branches will be copied (if present), as they are, but only
	    // for events with at least one muon. 
	    // For events w/o muon, mcparticles array will be empty and mcheader will be dummy
	    // (e.g. strlen(GetGeneratorName())==0)
	    
	    ext->FilterBranch("mcparticles",murep);
	    ext->FilterBranch("mcHeader",murep);
	  }
      }  
    
  }
  //cout<<"fine add filterd"<<endl;
}

//______________________________________________________________________________
void AliAnalysisTaskESDNuclExFilterMC::Init()
{

  // Initialization
  if(fEnableMuonAOD) 
    AddFilteredAOD("AliAOD.NuclEx.root", "NuclexFilteredEvents",kTRUE);
}


//______________________________________________________________________________
void AliAnalysisTaskESDNuclExFilterMC::UserExec(Option_t */*option*/)
{
  // Execute analysis for current event					    
  
  Long64_t ientry = Entry();
  if(fDebug)printf("Muon Filter: Analysing event # %5d\n", (Int_t) ientry);
  
  //***************************************************

  ConvertESDtoAOD();

  //*************************************************
  
}


void AliAnalysisTaskESDNuclExFilterMC::ConvertESDtoAOD() 

{

  //cout<<"========================> CONVERT ESD TO AOD <============================="<<endl;

  
  AliAODEvent *lAODevent=(AliAODEvent*)InputEvent();

  // Read primary vertex from AOD event 
  // AliAODVertex *primary = *(AODEvent()->GetPrimaryVertex());

  AliAODVertex *primary = lAODevent->GetPrimaryVertex();
  if (fDebug && primary) primary->Print();
  //cout<<"Primary vtx x: "<<primary->GetX()<<" "<<primary->GetY()<<" "<<primary->GetZ()<<endl;
      
  AliAODHandler* handler = dynamic_cast<AliAODHandler*>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler());
 
  if ( handler ){
    
    AliAODExtension *extNuclEx = handler->GetFilteredAOD("AliAOD.NuclEx.root");
    
    if ( extNuclEx ) {				
    
      extNuclEx->SetEvent(lAODevent);
      extNuclEx->SelectEvent();
      extNuclEx->FinishEvent();
      
    }
  }
  
}
//------------------------------------------------
void AliAnalysisTaskESDNuclExFilterMC::Terminate(Option_t */*option*/)
{
  // Terminate analysis
  //
  //  delete murep;
  
  if (fDebug > 1) printf("AnalysisESDfilter: Terminate() \n");
}
 AliAnalysisTaskESDNuclExFilterMC.cxx:1
 AliAnalysisTaskESDNuclExFilterMC.cxx:2
 AliAnalysisTaskESDNuclExFilterMC.cxx:3
 AliAnalysisTaskESDNuclExFilterMC.cxx:4
 AliAnalysisTaskESDNuclExFilterMC.cxx:5
 AliAnalysisTaskESDNuclExFilterMC.cxx:6
 AliAnalysisTaskESDNuclExFilterMC.cxx:7
 AliAnalysisTaskESDNuclExFilterMC.cxx:8
 AliAnalysisTaskESDNuclExFilterMC.cxx:9
 AliAnalysisTaskESDNuclExFilterMC.cxx:10
 AliAnalysisTaskESDNuclExFilterMC.cxx:11
 AliAnalysisTaskESDNuclExFilterMC.cxx:12
 AliAnalysisTaskESDNuclExFilterMC.cxx:13
 AliAnalysisTaskESDNuclExFilterMC.cxx:14
 AliAnalysisTaskESDNuclExFilterMC.cxx:15
 AliAnalysisTaskESDNuclExFilterMC.cxx:16
 AliAnalysisTaskESDNuclExFilterMC.cxx:17
 AliAnalysisTaskESDNuclExFilterMC.cxx:18
 AliAnalysisTaskESDNuclExFilterMC.cxx:19
 AliAnalysisTaskESDNuclExFilterMC.cxx:20
 AliAnalysisTaskESDNuclExFilterMC.cxx:21
 AliAnalysisTaskESDNuclExFilterMC.cxx:22
 AliAnalysisTaskESDNuclExFilterMC.cxx:23
 AliAnalysisTaskESDNuclExFilterMC.cxx:24
 AliAnalysisTaskESDNuclExFilterMC.cxx:25
 AliAnalysisTaskESDNuclExFilterMC.cxx:26
 AliAnalysisTaskESDNuclExFilterMC.cxx:27
 AliAnalysisTaskESDNuclExFilterMC.cxx:28
 AliAnalysisTaskESDNuclExFilterMC.cxx:29
 AliAnalysisTaskESDNuclExFilterMC.cxx:30
 AliAnalysisTaskESDNuclExFilterMC.cxx:31
 AliAnalysisTaskESDNuclExFilterMC.cxx:32
 AliAnalysisTaskESDNuclExFilterMC.cxx:33
 AliAnalysisTaskESDNuclExFilterMC.cxx:34
 AliAnalysisTaskESDNuclExFilterMC.cxx:35
 AliAnalysisTaskESDNuclExFilterMC.cxx:36
 AliAnalysisTaskESDNuclExFilterMC.cxx:37
 AliAnalysisTaskESDNuclExFilterMC.cxx:38
 AliAnalysisTaskESDNuclExFilterMC.cxx:39
 AliAnalysisTaskESDNuclExFilterMC.cxx:40
 AliAnalysisTaskESDNuclExFilterMC.cxx:41
 AliAnalysisTaskESDNuclExFilterMC.cxx:42
 AliAnalysisTaskESDNuclExFilterMC.cxx:43
 AliAnalysisTaskESDNuclExFilterMC.cxx:44
 AliAnalysisTaskESDNuclExFilterMC.cxx:45
 AliAnalysisTaskESDNuclExFilterMC.cxx:46
 AliAnalysisTaskESDNuclExFilterMC.cxx:47
 AliAnalysisTaskESDNuclExFilterMC.cxx:48
 AliAnalysisTaskESDNuclExFilterMC.cxx:49
 AliAnalysisTaskESDNuclExFilterMC.cxx:50
 AliAnalysisTaskESDNuclExFilterMC.cxx:51
 AliAnalysisTaskESDNuclExFilterMC.cxx:52
 AliAnalysisTaskESDNuclExFilterMC.cxx:53
 AliAnalysisTaskESDNuclExFilterMC.cxx:54
 AliAnalysisTaskESDNuclExFilterMC.cxx:55
 AliAnalysisTaskESDNuclExFilterMC.cxx:56
 AliAnalysisTaskESDNuclExFilterMC.cxx:57
 AliAnalysisTaskESDNuclExFilterMC.cxx:58
 AliAnalysisTaskESDNuclExFilterMC.cxx:59
 AliAnalysisTaskESDNuclExFilterMC.cxx:60
 AliAnalysisTaskESDNuclExFilterMC.cxx:61
 AliAnalysisTaskESDNuclExFilterMC.cxx:62
 AliAnalysisTaskESDNuclExFilterMC.cxx:63
 AliAnalysisTaskESDNuclExFilterMC.cxx:64
 AliAnalysisTaskESDNuclExFilterMC.cxx:65
 AliAnalysisTaskESDNuclExFilterMC.cxx:66
 AliAnalysisTaskESDNuclExFilterMC.cxx:67
 AliAnalysisTaskESDNuclExFilterMC.cxx:68
 AliAnalysisTaskESDNuclExFilterMC.cxx:69
 AliAnalysisTaskESDNuclExFilterMC.cxx:70
 AliAnalysisTaskESDNuclExFilterMC.cxx:71
 AliAnalysisTaskESDNuclExFilterMC.cxx:72
 AliAnalysisTaskESDNuclExFilterMC.cxx:73
 AliAnalysisTaskESDNuclExFilterMC.cxx:74
 AliAnalysisTaskESDNuclExFilterMC.cxx:75
 AliAnalysisTaskESDNuclExFilterMC.cxx:76
 AliAnalysisTaskESDNuclExFilterMC.cxx:77
 AliAnalysisTaskESDNuclExFilterMC.cxx:78
 AliAnalysisTaskESDNuclExFilterMC.cxx:79
 AliAnalysisTaskESDNuclExFilterMC.cxx:80
 AliAnalysisTaskESDNuclExFilterMC.cxx:81
 AliAnalysisTaskESDNuclExFilterMC.cxx:82
 AliAnalysisTaskESDNuclExFilterMC.cxx:83
 AliAnalysisTaskESDNuclExFilterMC.cxx:84
 AliAnalysisTaskESDNuclExFilterMC.cxx:85
 AliAnalysisTaskESDNuclExFilterMC.cxx:86
 AliAnalysisTaskESDNuclExFilterMC.cxx:87
 AliAnalysisTaskESDNuclExFilterMC.cxx:88
 AliAnalysisTaskESDNuclExFilterMC.cxx:89
 AliAnalysisTaskESDNuclExFilterMC.cxx:90
 AliAnalysisTaskESDNuclExFilterMC.cxx:91
 AliAnalysisTaskESDNuclExFilterMC.cxx:92
 AliAnalysisTaskESDNuclExFilterMC.cxx:93
 AliAnalysisTaskESDNuclExFilterMC.cxx:94
 AliAnalysisTaskESDNuclExFilterMC.cxx:95
 AliAnalysisTaskESDNuclExFilterMC.cxx:96
 AliAnalysisTaskESDNuclExFilterMC.cxx:97
 AliAnalysisTaskESDNuclExFilterMC.cxx:98
 AliAnalysisTaskESDNuclExFilterMC.cxx:99
 AliAnalysisTaskESDNuclExFilterMC.cxx:100
 AliAnalysisTaskESDNuclExFilterMC.cxx:101
 AliAnalysisTaskESDNuclExFilterMC.cxx:102
 AliAnalysisTaskESDNuclExFilterMC.cxx:103
 AliAnalysisTaskESDNuclExFilterMC.cxx:104
 AliAnalysisTaskESDNuclExFilterMC.cxx:105
 AliAnalysisTaskESDNuclExFilterMC.cxx:106
 AliAnalysisTaskESDNuclExFilterMC.cxx:107
 AliAnalysisTaskESDNuclExFilterMC.cxx:108
 AliAnalysisTaskESDNuclExFilterMC.cxx:109
 AliAnalysisTaskESDNuclExFilterMC.cxx:110
 AliAnalysisTaskESDNuclExFilterMC.cxx:111
 AliAnalysisTaskESDNuclExFilterMC.cxx:112
 AliAnalysisTaskESDNuclExFilterMC.cxx:113
 AliAnalysisTaskESDNuclExFilterMC.cxx:114
 AliAnalysisTaskESDNuclExFilterMC.cxx:115
 AliAnalysisTaskESDNuclExFilterMC.cxx:116
 AliAnalysisTaskESDNuclExFilterMC.cxx:117
 AliAnalysisTaskESDNuclExFilterMC.cxx:118
 AliAnalysisTaskESDNuclExFilterMC.cxx:119
 AliAnalysisTaskESDNuclExFilterMC.cxx:120
 AliAnalysisTaskESDNuclExFilterMC.cxx:121
 AliAnalysisTaskESDNuclExFilterMC.cxx:122
 AliAnalysisTaskESDNuclExFilterMC.cxx:123
 AliAnalysisTaskESDNuclExFilterMC.cxx:124
 AliAnalysisTaskESDNuclExFilterMC.cxx:125
 AliAnalysisTaskESDNuclExFilterMC.cxx:126
 AliAnalysisTaskESDNuclExFilterMC.cxx:127
 AliAnalysisTaskESDNuclExFilterMC.cxx:128
 AliAnalysisTaskESDNuclExFilterMC.cxx:129
 AliAnalysisTaskESDNuclExFilterMC.cxx:130
 AliAnalysisTaskESDNuclExFilterMC.cxx:131
 AliAnalysisTaskESDNuclExFilterMC.cxx:132
 AliAnalysisTaskESDNuclExFilterMC.cxx:133
 AliAnalysisTaskESDNuclExFilterMC.cxx:134
 AliAnalysisTaskESDNuclExFilterMC.cxx:135
 AliAnalysisTaskESDNuclExFilterMC.cxx:136
 AliAnalysisTaskESDNuclExFilterMC.cxx:137
 AliAnalysisTaskESDNuclExFilterMC.cxx:138
 AliAnalysisTaskESDNuclExFilterMC.cxx:139
 AliAnalysisTaskESDNuclExFilterMC.cxx:140
 AliAnalysisTaskESDNuclExFilterMC.cxx:141
 AliAnalysisTaskESDNuclExFilterMC.cxx:142
 AliAnalysisTaskESDNuclExFilterMC.cxx:143
 AliAnalysisTaskESDNuclExFilterMC.cxx:144
 AliAnalysisTaskESDNuclExFilterMC.cxx:145
 AliAnalysisTaskESDNuclExFilterMC.cxx:146
 AliAnalysisTaskESDNuclExFilterMC.cxx:147
 AliAnalysisTaskESDNuclExFilterMC.cxx:148
 AliAnalysisTaskESDNuclExFilterMC.cxx:149
 AliAnalysisTaskESDNuclExFilterMC.cxx:150
 AliAnalysisTaskESDNuclExFilterMC.cxx:151
 AliAnalysisTaskESDNuclExFilterMC.cxx:152
 AliAnalysisTaskESDNuclExFilterMC.cxx:153
 AliAnalysisTaskESDNuclExFilterMC.cxx:154
 AliAnalysisTaskESDNuclExFilterMC.cxx:155
 AliAnalysisTaskESDNuclExFilterMC.cxx:156
 AliAnalysisTaskESDNuclExFilterMC.cxx:157
 AliAnalysisTaskESDNuclExFilterMC.cxx:158
 AliAnalysisTaskESDNuclExFilterMC.cxx:159
 AliAnalysisTaskESDNuclExFilterMC.cxx:160
 AliAnalysisTaskESDNuclExFilterMC.cxx:161
 AliAnalysisTaskESDNuclExFilterMC.cxx:162
 AliAnalysisTaskESDNuclExFilterMC.cxx:163
 AliAnalysisTaskESDNuclExFilterMC.cxx:164
 AliAnalysisTaskESDNuclExFilterMC.cxx:165
 AliAnalysisTaskESDNuclExFilterMC.cxx:166
 AliAnalysisTaskESDNuclExFilterMC.cxx:167
 AliAnalysisTaskESDNuclExFilterMC.cxx:168
 AliAnalysisTaskESDNuclExFilterMC.cxx:169
 AliAnalysisTaskESDNuclExFilterMC.cxx:170
 AliAnalysisTaskESDNuclExFilterMC.cxx:171
 AliAnalysisTaskESDNuclExFilterMC.cxx:172
 AliAnalysisTaskESDNuclExFilterMC.cxx:173
 AliAnalysisTaskESDNuclExFilterMC.cxx:174
 AliAnalysisTaskESDNuclExFilterMC.cxx:175
 AliAnalysisTaskESDNuclExFilterMC.cxx:176
 AliAnalysisTaskESDNuclExFilterMC.cxx:177
 AliAnalysisTaskESDNuclExFilterMC.cxx:178
 AliAnalysisTaskESDNuclExFilterMC.cxx:179
 AliAnalysisTaskESDNuclExFilterMC.cxx:180
 AliAnalysisTaskESDNuclExFilterMC.cxx:181
 AliAnalysisTaskESDNuclExFilterMC.cxx:182
 AliAnalysisTaskESDNuclExFilterMC.cxx:183
 AliAnalysisTaskESDNuclExFilterMC.cxx:184
 AliAnalysisTaskESDNuclExFilterMC.cxx:185
 AliAnalysisTaskESDNuclExFilterMC.cxx:186
 AliAnalysisTaskESDNuclExFilterMC.cxx:187
 AliAnalysisTaskESDNuclExFilterMC.cxx:188
 AliAnalysisTaskESDNuclExFilterMC.cxx:189
 AliAnalysisTaskESDNuclExFilterMC.cxx:190
 AliAnalysisTaskESDNuclExFilterMC.cxx:191
 AliAnalysisTaskESDNuclExFilterMC.cxx:192
 AliAnalysisTaskESDNuclExFilterMC.cxx:193
 AliAnalysisTaskESDNuclExFilterMC.cxx:194
 AliAnalysisTaskESDNuclExFilterMC.cxx:195
 AliAnalysisTaskESDNuclExFilterMC.cxx:196
 AliAnalysisTaskESDNuclExFilterMC.cxx:197
 AliAnalysisTaskESDNuclExFilterMC.cxx:198
 AliAnalysisTaskESDNuclExFilterMC.cxx:199
 AliAnalysisTaskESDNuclExFilterMC.cxx:200
 AliAnalysisTaskESDNuclExFilterMC.cxx:201
 AliAnalysisTaskESDNuclExFilterMC.cxx:202
 AliAnalysisTaskESDNuclExFilterMC.cxx:203
 AliAnalysisTaskESDNuclExFilterMC.cxx:204
 AliAnalysisTaskESDNuclExFilterMC.cxx:205
 AliAnalysisTaskESDNuclExFilterMC.cxx:206
 AliAnalysisTaskESDNuclExFilterMC.cxx:207
 AliAnalysisTaskESDNuclExFilterMC.cxx:208
 AliAnalysisTaskESDNuclExFilterMC.cxx:209
 AliAnalysisTaskESDNuclExFilterMC.cxx:210
 AliAnalysisTaskESDNuclExFilterMC.cxx:211
 AliAnalysisTaskESDNuclExFilterMC.cxx:212
 AliAnalysisTaskESDNuclExFilterMC.cxx:213
 AliAnalysisTaskESDNuclExFilterMC.cxx:214
 AliAnalysisTaskESDNuclExFilterMC.cxx:215
 AliAnalysisTaskESDNuclExFilterMC.cxx:216
 AliAnalysisTaskESDNuclExFilterMC.cxx:217
 AliAnalysisTaskESDNuclExFilterMC.cxx:218
 AliAnalysisTaskESDNuclExFilterMC.cxx:219
 AliAnalysisTaskESDNuclExFilterMC.cxx:220
 AliAnalysisTaskESDNuclExFilterMC.cxx:221
 AliAnalysisTaskESDNuclExFilterMC.cxx:222
 AliAnalysisTaskESDNuclExFilterMC.cxx:223
 AliAnalysisTaskESDNuclExFilterMC.cxx:224
 AliAnalysisTaskESDNuclExFilterMC.cxx:225
 AliAnalysisTaskESDNuclExFilterMC.cxx:226
 AliAnalysisTaskESDNuclExFilterMC.cxx:227
 AliAnalysisTaskESDNuclExFilterMC.cxx:228
 AliAnalysisTaskESDNuclExFilterMC.cxx:229
 AliAnalysisTaskESDNuclExFilterMC.cxx:230
 AliAnalysisTaskESDNuclExFilterMC.cxx:231
 AliAnalysisTaskESDNuclExFilterMC.cxx:232
 AliAnalysisTaskESDNuclExFilterMC.cxx:233
 AliAnalysisTaskESDNuclExFilterMC.cxx:234
 AliAnalysisTaskESDNuclExFilterMC.cxx:235
 AliAnalysisTaskESDNuclExFilterMC.cxx:236
 AliAnalysisTaskESDNuclExFilterMC.cxx:237
 AliAnalysisTaskESDNuclExFilterMC.cxx:238
 AliAnalysisTaskESDNuclExFilterMC.cxx:239
 AliAnalysisTaskESDNuclExFilterMC.cxx:240
 AliAnalysisTaskESDNuclExFilterMC.cxx:241
 AliAnalysisTaskESDNuclExFilterMC.cxx:242
 AliAnalysisTaskESDNuclExFilterMC.cxx:243
 AliAnalysisTaskESDNuclExFilterMC.cxx:244
 AliAnalysisTaskESDNuclExFilterMC.cxx:245
 AliAnalysisTaskESDNuclExFilterMC.cxx:246
 AliAnalysisTaskESDNuclExFilterMC.cxx:247
 AliAnalysisTaskESDNuclExFilterMC.cxx:248
 AliAnalysisTaskESDNuclExFilterMC.cxx:249
 AliAnalysisTaskESDNuclExFilterMC.cxx:250
 AliAnalysisTaskESDNuclExFilterMC.cxx:251
 AliAnalysisTaskESDNuclExFilterMC.cxx:252
 AliAnalysisTaskESDNuclExFilterMC.cxx:253
 AliAnalysisTaskESDNuclExFilterMC.cxx:254
 AliAnalysisTaskESDNuclExFilterMC.cxx:255
 AliAnalysisTaskESDNuclExFilterMC.cxx:256
 AliAnalysisTaskESDNuclExFilterMC.cxx:257
 AliAnalysisTaskESDNuclExFilterMC.cxx:258