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

//_________________________________________________________________________
// Analysis task that executes the analysis classes
// that depend on the CaloTrackCorr frame, frame for Particle identification 
// with calorimeters and tracks and correlations.
// Specially designed for calorimeters but also can be used for charged tracks
// Input of this task is a configuration file that contains all the settings 
// of the analysis
//
// -- Author: Gustavo Conesa (INFN-LNF, LPSC-Grenoble)

#include <cstdlib>

// --- Root ---
#include <TROOT.h>
#include <TInterpreter.h>
#include <TClonesArray.h>
//#include <Riostream.h>
//#include <TObjectTable.h>

// --- Analysis ---
#include "AliAnalysisTaskCaloTrackCorrelationM.h"
#include "AliAnaCaloTrackCorrMaker.h"
#include "AliCaloTrackReader.h"
#include "AliPDG.h"
#include "AliAnalysisManager.h"
#include "AliMultiEventInputHandler.h"
#include "AliMixedEvent.h"
#include "AliAODEvent.h"
#include "AliESDEvent.h"
#include "AliAnalysisDataSlot.h"
#include "AliLog.h"

ClassImp(AliAnalysisTaskCaloTrackCorrelationM)

//__________________________________________________________________________
AliAnalysisTaskCaloTrackCorrelationM::AliAnalysisTaskCaloTrackCorrelationM() :
  AliAnalysisTaskME(),
  fAna(0x0),
  fOutputContainer(0x0),
  fConfigName(""), 
  fCuts(0x0), 
  fInputEvent(NULL)
{
  // Default constructor
}

//__________________________________________________________________________________________
AliAnalysisTaskCaloTrackCorrelationM::AliAnalysisTaskCaloTrackCorrelationM(const char* name) :
  AliAnalysisTaskME(name),
  fAna(0x0),
  fOutputContainer(0x0),
  fConfigName(""), 
  fCuts(0x0), 
  fInputEvent(NULL)
{
  // Default constructor
  
  DefineOutput(1, TList::Class());
  DefineOutput(2, TList::Class());  // will contain cuts or local params
}

//___________________________________________________________________________
AliAnalysisTaskCaloTrackCorrelationM::~AliAnalysisTaskCaloTrackCorrelationM() 
{
  // Remove all pointers
	
  //  // Do not delete it here, already done somewhere else, need to understand where.
  //  if(fOutputContainer && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()){
  //    fOutputContainer->Clear() ; 
  //    delete fOutputContainer ;
  //  }
  
  delete fInputEvent ; 
  if(fAna) delete fAna;
  
}

//__________________________________________________________________
void AliAnalysisTaskCaloTrackCorrelationM::UserCreateOutputObjects()
{
  // Create the output container
  AliDebug(1,"Begin");
  
  //Get list of aod arrays, add each aod array to analysis frame 
  TClonesArray *array = 0;
  TList * list = fAna->FillAndGetAODBranchList();

  AliDebug(1,Form("n AOD branches %d",list->GetEntries()));
  
  //Put the delta AODs in output file, std or delta
  if((fAna->GetReader())->WriteDeltaAODToFile())
  {
    TString deltaAODName = (fAna->GetReader())->GetDeltaAODFileName();
    for(Int_t iaod = 0; iaod < list->GetEntries(); iaod++)
    {
      array = (TClonesArray*) list->At(iaod);
      if(deltaAODName!="") AddAODBranch("TClonesArray", &array, deltaAODName);//Put it in DeltaAOD file
      else AddAODBranch("TClonesArray", &array);//Put it in standard AOD file
    } 
	}
	
  //Histograms container
  OpenFile(1);
  fOutputContainer = fAna->GetOutputContainer();
  
  AliDebug(1,Form("n histograms %d",fOutputContainer->GetEntries()));
  
  fOutputContainer->SetOwner(kTRUE);
  
  AliDebug(1,"End");
  
  PostData(1,fOutputContainer);
	
}

//____________________________________________________
void AliAnalysisTaskCaloTrackCorrelationM::LocalInit()
{
	// Local Initialization
	
	//Call the Init to initialize the configuration of the analysis
	Init();
	
}

//_______________________________________________
void AliAnalysisTaskCaloTrackCorrelationM::Init()
{
  // Initialization
  
  AliDebug(1,"Begin");
  
  fInputEvent = new AliMixedEvent() ; 
  
  // Call configuration file if specified
  
  if (fConfigName.Length())
  {
    AliInfo(Form("### Configuration file is %s.C ###", fConfigName.Data()));
    gROOT->LoadMacro(fConfigName+".C");
    fAna = (AliAnaCaloTrackCorrMaker*) gInterpreter->ProcessLine("ConfigAnalysis()");
  }
  
  if(!fAna)
  {
    AliFatal("Analysis maker pointer not initialized, no analysis specified, STOP!");
    return; // coverity
  }
  
  // Add different generator particles to PDG Data Base 
  // to avoid problems when reading MC generator particles
  AliPDG::AddParticlesToPdgDataBase();
  
  //Set in the reader the name of the task in case is needed
  (fAna->GetReader())->SetTaskName(GetName());
	
  // Initialise analysis
  fAna->Init();
  
  //Delta AOD
  if((fAna->GetReader())->GetDeltaAODFileName()!="")
	  AliAnalysisManager::GetAnalysisManager()->RegisterExtraFile((fAna->GetReader())->GetDeltaAODFileName());
  
  AliDebug(1,"End");
  
}


//_______________________________________________________________________
void AliAnalysisTaskCaloTrackCorrelationM::UserExec(Option_t */*option*/)
{
  // Execute analysis for current event
  
  AliDebug(1,"Begin");
  
  //Get the type of data, check if type is correct
  Int_t  datatype = fAna->GetReader()->GetDataType();
  if(datatype != AliCaloTrackReader::kESD && datatype != AliCaloTrackReader::kAOD &&
     datatype != AliCaloTrackReader::kMC)
  {
    AliError("Wrong type of data");
    return ;
  }
  
  Int_t nev = fInputHandler->GetBufferSize();
  fInputEvent->Reset();
  
  for (Int_t iev = 0; iev < nev; iev++) 
  {
    if (datatype == AliCaloTrackReader::kESD) 
    {
      AliESDEvent* esd = dynamic_cast<AliESDEvent*>(GetEvent(iev));
      fInputEvent->AddEvent(esd);
    } else if (datatype == AliCaloTrackReader::kAOD) 
    {
      AliAODEvent* aod = dynamic_cast<AliAODEvent*>(GetEvent(iev));
      fInputEvent->AddEvent(aod);
    } else 
    {
      AliFatal("need to implement mixed event for MC") ; 
    }
  }
  
  fInputEvent->Init();
  
  fAna->GetReader()->SetInputOutputMCEvent(fInputEvent, AODEvent(), MCEvent());
  
  //Process event
  fAna->ProcessEvent((Int_t) Entry(), CurrentFileName());
  
  PostData(1, fOutputContainer);
	
  AliAnalysisDataSlot *out0 = GetOutputSlot(0);
  if (out0 && out0->IsConnected()) PostData(0, fTreeA);  
  
  AliDebug(1,"End");

  //gObjectTable->Print();
  
}

//________________________________________________________________________
void AliAnalysisTaskCaloTrackCorrelationM::Terminate(Option_t */*option*/)
{
  // Terminate analysis
  // Do some plots
  
  // Get merged histograms from the output container
  // Propagate histagrams to maker
  fAna->Terminate((TList*)GetOutputData(1));

  // Create cuts/param objects and publish to slot
	fCuts = fAna->GetListOfAnalysisCuts();
  fCuts ->SetOwner(kTRUE);
  
	// Post Data
	PostData(2, fCuts);
  
}

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