ROOT logo
// **************************************
// Task used for Pythia MPI studies in ZZ train 
// Output is stored in an exchance container
// *******************************************


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

#include "TChain.h"

#include "AliAnalysisDataSlot.h"
#include "AliAnalysisDataContainer.h"
#include "AliAnalysisManager.h"
#include "AliMCEvent.h"
#include "AliVEvent.h"
#include "AliAnalysisTaskPythiaMpi.h"
#include "AliGenEventHeader.h"
#include "AliVParticle.h"
#include "AliPythia.h"
#include "AliPythia8.h"

using namespace std;

ClassImp(AliAnalysisTaskPythiaMpi)

//_________________________________________________________| Constructor

AliAnalysisTaskPythiaMpi::AliAnalysisTaskPythiaMpi(): 
  fMcEvent(0x0),  
  fMcHandler(0x0),
  fOutputList(0),
  fHistEvents(0),
  fHistPt(0),
  fHistEta(0),
  fHistMpi(0),
  fHistMultMpi(0),
  fHistdNdetaMpi(0)
{
  //
  // Default constructor
  //
}

////_________________________________________________________| Specific Constructor

AliAnalysisTaskPythiaMpi::AliAnalysisTaskPythiaMpi(const char* name):
  AliAnalysisTaskSE(name),
  fMcEvent(0x0),  
  fMcHandler(0x0),
  fOutputList(0),
  fHistEvents(0),
  fHistPt(0),
  fHistEta(0),
  fHistMpi(0),
  fHistMultMpi(0),
  fHistdNdetaMpi(0)
{
  //
  // Specific constructor. Initialization of Inputs and Outputs
  //
  Info("AliAnalysisMpi","Calling Constructor");
  // Output slot #1 writes into a TList container 
  DefineInput(0, TChain::Class());
  DefineOutput(1, TList::Class());  
}

//_________________________________________________________| Assignment Operator

AliAnalysisTaskPythiaMpi& AliAnalysisTaskPythiaMpi::operator=(const AliAnalysisTaskPythiaMpi& c)
{
  // Assigment operator
  if(this!=&c) {
    AliAnalysisTaskSE::operator=(c);
    fMcEvent = c.fMcEvent;
    fMcHandler = c.fMcHandler;
    fOutputList = c.fOutputList;
    fHistEvents = c.fHistEvents;
    fHistPt = c.fHistPt;
    fHistEta = c.fHistEta;
    fHistMpi = c.fHistMpi;
    fHistMultMpi = c.fHistMultMpi;
    fHistdNdetaMpi = c.fHistdNdetaMpi;

  }
  return *this;

}
//_________________________________________________________| Copy Constructor

AliAnalysisTaskPythiaMpi::AliAnalysisTaskPythiaMpi(const AliAnalysisTaskPythiaMpi& c):
  AliAnalysisTaskSE(c),
  fMcEvent(c.fMcEvent),
  fMcHandler(c.fMcHandler), 
  fOutputList(c.fOutputList),
  fHistEvents(c.fHistEvents),
  fHistPt(c.fHistPt),
  fHistEta(c.fHistEta),
  fHistMpi(c.fHistMpi),
  fHistMultMpi(c.fHistMultMpi),
  fHistdNdetaMpi(c.fHistdNdetaMpi)
{
  //Copy Constructor
}

//_________________________________________________________| Destructor

AliAnalysisTaskPythiaMpi::~AliAnalysisTaskPythiaMpi()
{
  //
  // Destructor
  //
  Info("~AliAnalysisTaskPythiaMpi","Calling Destructor");
  if(fOutputList) delete fOutputList;
  if(fHistEvents) delete fHistEvents;
  if(fHistPt) delete fHistPt;
  if(fHistEta) delete fHistEta;
  if(fHistMpi) delete fHistMpi;
  if(fHistMultMpi) delete fHistMultMpi;
  if(fHistdNdetaMpi) delete fHistdNdetaMpi;
  
}

//_____________________________________________________________________

void AliAnalysisTaskPythiaMpi::UserCreateOutputObjects()
{
  Info("CreateOutputObjects","CreateOutputObjects of task %s",GetName());
  
  fOutputList = new TList();
  fOutputList->SetOwner(kTRUE);
 
  fHistEvents = new TH1I("fHistNEvents","fHistNEvents",2,0,2);
  fHistEvents->GetXaxis()->SetBinLabel(1,"All events");
  fHistEvents->GetXaxis()->SetBinLabel(2,"Events with |zVtx|<10cm");

  fHistPt = new TH1F("fHistPt","p_{T} distribution",15,0.2,5.0);
  fHistPt->GetXaxis()->SetTitle("p_{T} (GeV/c)");
  fHistPt->GetYaxis()->SetTitle("dN/dp_{T} (GeV/c^{-1})");
  fHistPt->SetMarkerStyle(kFullCircle);

  fHistEta = new TH1F("fHistEta","eta distribution",20,-1,1);
  fHistEta->GetXaxis()->SetTitle("#eta");
  fHistEta->GetYaxis()->SetTitle("dN/d#eta");
  fHistEta->SetMarkerStyle(kFullCircle);

  fHistMpi = new TH1F("fHistMpi","MPIs distribution",50,0,50);
  fHistMpi->GetXaxis()->SetTitle("#MPIs");
  fHistMpi->GetYaxis()->SetTitle("dN/dMPIs");
  fHistMpi->SetMarkerStyle(kFullCircle);

  fHistMultMpi = new TH2F("fHistMultMpi","Multiplicity vs MPIs",50,0,50,100,0,1e4);
  fHistMultMpi->GetXaxis()->SetTitle("#MPIs");
  fHistMultMpi->GetYaxis()->SetTitle("MC particles");
  fHistMultMpi->SetMarkerStyle(kFullDotSmall);

  fHistdNdetaMpi = new TH2F("fHistdNdetaMpi","dN/d#etadMPIs",50,0,50,100,-5,5);
  fHistdNdetaMpi->GetXaxis()->SetTitle("#MPIs");
  fHistdNdetaMpi->GetYaxis()->SetTitle("#eta");
  //fHistdNdetaMpi->SetMarkerStyle();


  fOutputList->Add(fHistEvents);
  fOutputList->Add(fHistPt);
  fOutputList->Add(fHistEta);
  fOutputList->Add(fHistMpi);
  fOutputList->Add(fHistMultMpi);
  fOutputList->Add(fHistdNdetaMpi);

  PostData(1,fOutputList);

  return;
}
//_________________________________________________________________________

void AliAnalysisTaskPythiaMpi::Init()
{
   // MC handler
   if(fDebug > 1) printf("AnalysisTaskPythiaMpi::Init() \n");
   fMcHandler = dynamic_cast<AliInputEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()); 
}

//_________________________________________________________________________

void AliAnalysisTaskPythiaMpi::LocalInit()
{
   // MC handler
   //
   // Initialization
   //

   if(fDebug > 1) printf("AnalysisTaskPythiaMpi::LocalInit() \n");
   Init();
}

//____________________________________________| User Exec

void AliAnalysisTaskPythiaMpi::UserExec(Option_t*)
{

   // handle and reset the output jet branch 
  Info("UserExec","Start of method");
   if(fDebug > 1) printf("AliAnalysisTaskPythiaMpi::UserExec \n");

   //
   // Execute analysis for current event
   //
   Init();
   fHistEvents->Fill(0.5);
   if(fMcHandler){
      fMcEvent = fMcHandler->MCEvent(); 
   }else{
      if(fDebug > 1) printf("AnalysisTaskPythiaMpi::Handler() fMcHandler=NULL\n");
      return;
   }
   if(!fMcEvent){
      if(fDebug > 1) printf("AnalysisTaskPythiaMpi::Exec()   fMcEvent=NULL \n");
      return;
   }

   const AliVVertex *vtxMC = fMcEvent->GetPrimaryVertex();
   Float_t zVtx = vtxMC->GetZ();
   if(TMath::Abs(zVtx)<10) fHistEvents->Fill(1.5);
   else return;

   Printf("MC particles: %d",fMCEvent->GetNumberOfTracks());


   //MPIs
   Double_t Nmpi = (AliPythia8::Instance())->GetNMPI();
   fHistMpi->Fill(Nmpi);

   fHistMultMpi->Fill(Nmpi,fMCEvent->GetNumberOfTracks());

   //loop over the tracks 

   for(Int_t iTracks = 0; iTracks < fMCEvent->GetNumberOfTracks(); iTracks++){
     AliVParticle* track = fMCEvent->GetTrack(iTracks);
     if(!track){
       Printf("ERROR: Could not receive track %d (mc loop)",iTracks);
       continue;
     }
     fHistPt->Fill(track->Pt());
     fHistEta->Fill(track->Eta());

     fHistdNdetaMpi->Fill(Nmpi,track->Eta());
   }
   

   PostData(1, fOutputList);
   return; 
   
}
//____________________________________________________________________________

void AliAnalysisTaskPythiaMpi::Terminate(Option_t*){
  //
  // Terminate analysis
  //
  Info("Terminate","Start and end of Method");
  AliAnalysisTaskSE::Terminate();

  fOutputList = dynamic_cast<TList*>(GetOutputData(1));
  if (!fOutputList) {
    printf("ERROR: fOutputList not available\n");
    return;
  }   
    
}

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