ROOT logo
/*************************************************************************
* Copyright(c) 1998-2008, 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 an event and perform full *
 * flow analysis 'on the fly'.      * 
 *                                  * 
 * author: Ante Bilandzic           * 
 *         (abilandzic@gmail.com)   *
 ************************************/ 
  
#include "Riostream.h"
#include "TMath.h"
#include "TF1.h"
#include "TH3.h"
#include "TRandom3.h"
#include "AliFlowEventSimpleMakerOnTheFly.h"
#include "AliFlowEventSimple.h"
#include "AliFlowTrackSimple.h"
#include "AliFlowTrackSimpleCuts.h"

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

//========================================================================================================================================

AliFlowEventSimpleMakerOnTheFly::AliFlowEventSimpleMakerOnTheFly(UInt_t uiSeed):
fCount(0),
fMinMult(0),
fMaxMult(0),  
fPtSpectra(NULL),
fMass(0.13957),
fTemperature(0.44),
fPhiDistribution(NULL),
fV1(0.),
fV2(0.05),
fV3(0.),
fV4(0.),
fV5(0.),
fV6(0.),
fUniformFluctuationsV2(kFALSE),
fMinV2(0.04),
fMaxV2(0.06),
fPtDependentV2(kFALSE),
fV2vsPtCutOff(2.0),
fV2vsPtMax(0.2),
fEtaMinA(-0.8),
fEtaMaxA(-0.5),
fEtaMinB(0.5),
fEtaMaxB(0.8),
fNTimes(1),
fUniformAcceptance(kTRUE),
fPhiMin1(0.),              
fPhiMax1(0.),             
fProbability1(0.),       
fPhiMin2(0.),   
fPhiMax2(0.),            
fProbability2(0.),     
fPi(TMath::Pi()),
fUniformEfficiency(kTRUE),
fPtMin(0.5),
fPtMax(1.0),
fPtProbability(0.75) 
{
 // Constructor.
  
 // Determine seed for gRandom:
 delete gRandom;
 gRandom = new TRandom3(uiSeed); // if uiSeed is 0, the seed is determined uniquely in space and time via TUUID
  
} // end of AliFlowEventSimpleMakerOnTheFly::AliFlowEventSimpleMakerOnTheFly(UInt_t uiSeed):

//====================================================================================================================

AliFlowEventSimpleMakerOnTheFly::~AliFlowEventSimpleMakerOnTheFly()
{
 // Destructor.

 if(fPtSpectra){delete fPtSpectra;}
 if(fPhiDistribution){delete fPhiDistribution;}

} // end of AliFlowEventSimpleMakerOnTheFly::~AliFlowEventSimpleMakerOnTheFly()	

//====================================================================================================================

void AliFlowEventSimpleMakerOnTheFly::Init()
{
 // Book all objects in this method.
 
 // a) Define the pt spectra;
 // b) Define the phi distribution.

 // a) Define the pt spectra:
 Double_t dPtMin = 0.; 
 Double_t dPtMax = 10.; 
 fPtSpectra = new TF1("fPtSpectra","x*TMath::Exp(-pow([0]*[0]+x*x,0.5)/[1])",dPtMin,dPtMax); // hardwired is Boltzmann distribution  
 fPtSpectra->SetParName(0,"Mass");
 fPtSpectra->SetParameter(0,fMass);
 fPtSpectra->SetParName(1,"Temperature");
 fPtSpectra->SetParameter(1,fTemperature);
 fPtSpectra->SetTitle("Boltzmann Distribution: f(p_{t}) = p_{t}exp[-(m^{2}+p_{t}^{2})^{1/2}/T];p_{t};f(p_{t})");
 
 // b) Define the phi distribution:
 Double_t dPhiMin = 0.; 
 Double_t dPhiMax = TMath::TwoPi();
 fPhiDistribution = new TF1("fPhiDistribution","1+2.*[1]*TMath::Cos(x-[0])+2.*[2]*TMath::Cos(2.*(x-[0]))+2.*[3]*TMath::Cos(3.*(x-[0]))+2.*[4]*TMath::Cos(4.*(x-[0]))+2.*[5]*TMath::Cos(5.*(x-[0]))+2.*[6]*TMath::Cos(6.*(x-[0]))",dPhiMin,dPhiMax);
 fPhiDistribution->SetParName(0,"Reaction Plane");
 fPhiDistribution->SetParameter(0,0.);
 fPhiDistribution->SetParName(1,"Directed Flow (v1)"); 
 fPhiDistribution->SetParameter(1,fV1);
 fPhiDistribution->SetParName(2,"Elliptic Flow (v2)");
 fPhiDistribution->SetParameter(2,fV2);
 fPhiDistribution->SetParName(3,"Triangular Flow (v3)");
 fPhiDistribution->SetParameter(3,fV3);
 fPhiDistribution->SetParName(4,"Quadrangular Flow (v4)");
 fPhiDistribution->SetParameter(4,fV4);
 fPhiDistribution->SetParName(5,"Pentagonal Flow (v5)");
 fPhiDistribution->SetParameter(5,fV5);
 fPhiDistribution->SetParName(6,"Hexagonal Flow (v6)");
 fPhiDistribution->SetParameter(6,fV6);

} // end of void AliFlowEventSimpleMakerOnTheFly::Init()

//====================================================================================================================

Bool_t AliFlowEventSimpleMakerOnTheFly::AcceptPhi(AliFlowTrackSimple *pTrack)
{
 // For the case of non-uniform acceptance determine in this method if particle is accepted or rejected for a given phi.
 
 Bool_t bAccept = kTRUE;
 
 if((pTrack->Phi() >= fPhiMin1*fPi/180.) && (pTrack->Phi() < fPhiMax1*fPi/180.) && gRandom->Uniform(0,1) > fProbability1) 
 {
  bAccept = kFALSE; // particle is rejected in the first non-uniform sector
 } else if((pTrack->Phi() >= fPhiMin2*fPi/180.) && (pTrack->Phi() < fPhiMax2*fPi/180.) && gRandom->Uniform(0,1) > fProbability2) 
    {
     bAccept = kFALSE; // particle is rejected in the second non-uniform sector
    } 
  
 return bAccept;
 
} // end of Bool_t AliFlowEventSimpleMakerOnTheFly::AcceptPhi(AliFlowTrackSimple *pTrack);

//====================================================================================================================

Bool_t AliFlowEventSimpleMakerOnTheFly::AcceptPt(AliFlowTrackSimple *pTrack)
{
 // For the case of non-uniform efficiency determine in this method if particle is accepted or rejected for a given pT.
 
 Bool_t bAccept = kTRUE;
 
 if((pTrack->Pt() >= fPtMin) && (pTrack->Pt() < fPtMax) && gRandom->Uniform(0,1) > fPtProbability) 
 {
  bAccept = kFALSE; // no mercy!
 } 

 return bAccept;
 
} // end of Bool_t AliFlowEventSimpleMakerOnTheFly::AcceptPt(AliFlowTrackSimple *pTrack);

//====================================================================================================================

AliFlowEventSimple* AliFlowEventSimpleMakerOnTheFly::CreateEventOnTheFly(AliFlowTrackSimpleCuts const *cutsRP, AliFlowTrackSimpleCuts const *cutsPOI)
{
 // Method to create event 'on the fly'.
 
 // a) Determine the multiplicity of an event;
 // b) Determine the reaction plane of an event;
 // c) If v2 fluctuates uniformly event-by-event, sample its value from [fMinV2,fMaxV2];
 // d) Create event 'on the fly';
 // e) Cosmetics for the printout on the screen.
 
 // a) Determine the multiplicity of an event:
 Int_t iMult = (Int_t)gRandom->Uniform(fMinMult,fMaxMult);
 
 // b) Determine the reaction plane of an event:
 Double_t dReactionPlane = gRandom->Uniform(0.,TMath::TwoPi());
 fPhiDistribution->SetParameter(0,dReactionPlane);

 // c) If v2 fluctuates uniformly event-by-event, sample its value from [fMinV2,fMaxV2]:
 if(fUniformFluctuationsV2)
 {
  fPhiDistribution->SetParameter(2,gRandom->Uniform(fMinV2,fMaxV2));
 } 

 // d) Create event 'on the fly':
 AliFlowEventSimple *pEvent = new AliFlowEventSimple(iMult); 
 pEvent->SetReferenceMultiplicity(iMult);
 pEvent->SetMCReactionPlaneAngle(dReactionPlane); 
 Int_t nRPs = 0; // number of particles tagged RP in this event
 Int_t nPOIs = 0; // number of particles tagged POI in this event
 for(Int_t p=0;p<iMult;p++)
 {
  AliFlowTrackSimple *pTrack = new AliFlowTrackSimple();
  pTrack->SetPt(fPtSpectra->GetRandom()); 
  if(fPtDependentV2 && !fUniformFluctuationsV2)
  {
   // v2(pt): for pt < fV2vsPtCutOff v2 increases linearly, for pt >= fV2vsPtCutOff v2 = fV2vsPtMax
   (pTrack->Pt() < fV2vsPtCutOff ? 
    fPhiDistribution->SetParameter(2,pTrack->Pt()*fV2vsPtMax/fV2vsPtCutOff) :
    fPhiDistribution->SetParameter(2,fV2vsPtMax)
   );
  } // end of if(fPtDependentV2)  
  pTrack->SetPhi(fPhiDistribution->GetRandom());
  pTrack->SetEta(gRandom->Uniform(-1.,1.));
  pTrack->SetCharge((gRandom->Integer(2)>0.5 ? 1 : -1));
  // Check uniform acceptance:
  if(!fUniformAcceptance && !this->AcceptPhi(pTrack)){continue;}
  // Check pT efficiency:
  if(!fUniformEfficiency && !this->AcceptPt(pTrack)){continue;}
  // Checking the RP cuts:  	 
  if(cutsRP->PassesCuts(pTrack))
  {
   pTrack->TagRP(kTRUE); 
   nRPs++; 
  }
  // Checking the POI cuts:  	 
  if(cutsPOI->PassesCuts(pTrack))
  {
   pTrack->TagPOI(kTRUE); 
   nPOIs++;
  }
  // Assign particles to eta subevents (needed only for Scalar Product method):
  if(pTrack->Eta()>=fEtaMinA && pTrack->Eta()<fEtaMaxA) 
  {
   pTrack->SetForSubevent(0);
  }
  if(pTrack->Eta()>=fEtaMinB && pTrack->Eta()<fEtaMaxB) 
  {
   pTrack->SetForSubevent(1);
  }  
  pEvent->AddTrack(pTrack);
  // Simulating nonflow:
  if(fNTimes>1)
  {
   for(Int_t nt=1;nt<fNTimes;nt++)
   {
    pEvent->AddTrack(pTrack->Clone());  
   } 
  } // end of if(fNTimes>1)       
 } // end of for(Int_t p=0;p<iMult;p++)
 pEvent->SetNumberOfRPs(fNTimes*nRPs);
 pEvent->SetNumberOfPOIs(fNTimes*nPOIs);
 
 // e) Cosmetics for the printout on the screen:
 Int_t cycle = (fPtDependentV2 ? 10 : 100);
 if((++fCount % cycle) == 0) 
 {
  if(TMath::Abs(dReactionPlane)>1.e-44) 
  {
   cout<<" MC Reaction Plane Angle = "<<dReactionPlane<<endl;
  } else 
    {
     cout<<" MC Reaction Plane Angle is unknown :'( "<< endl;
    }     
  cout<<" # of simulated tracks  = "<<fNTimes*iMult<<endl;
  cout<<" # of RP tagged tracks  = "<<fNTimes*nRPs<<endl;
  cout<<" # of POI tagged tracks = "<<fNTimes*nPOIs<<endl;  
  cout <<"  .... "<<fCount<< " events processed ...."<<endl;
 } // end of if((++fCount % cycle) == 0) 

 return pEvent;
    
} // end of CreateEventOnTheFly()
 
//====================================================================================================================

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