ROOT logo
// Settings for the simulation of events 'on the fly': 
//  a) Determine how many events you want to create;
//  b) Set random or same seed for random generator;
//  c) Determine multiplicites of events;
//  d) Parametrize the phi distribution;
//   d1) Enable/disable uniform event-wise fluctuations of v2; 
//   d2) Enable/diable pt dependence of v2;  
//  e) Parametrize the pt distribution;
//  f) Determine how many times each sampled particle will be taken (simulating nonflow);
//  g) Configure detector's:
//   g1) acceptance;
//   g2) efficiency;
//  h) Decide which flow analysis methods you will use;
//  i) Define simple cuts for Reference Particle (RP) selection;
//  j) Define simple cuts for Particle of Interest (POI) selection;
//  k) Define the ranges for two subevents separated with eta gap (needed only for SP method);
//  l) Enable/disable usage of particle weights.

// a) Determine how many events you want to create:
Int_t iNevts = 1000; // total statistics

// b) Set random or same seed for random generator:
Bool_t bSameSeed = kFALSE; // if kTRUE, the created events are the same when re-doing flow analysis 'on the fly'   

// c) Determine multiplicites of events:
//    Remark 1: Multiplicity M for each event is sampled uniformly from interval iMinMult <= M < iMaxMult;
//    Remark 2: For constant M of e.g. 500 for each event, set iMinMult = 500 and iMaxMult = 501.
Int_t iMinMult = 500; // uniformly sampled multiplicity is >= iMinMult
Int_t iMaxMult = 501; // uniformly sampled multiplicity is < iMaxMult 

// d) Parametrize the phi distribution:
//    Remark 1: Hardwired is Fourier-like distribution f(phi) = (1/2pi)(1+sum_{n=1}^{4} 2v_n cos[n(phi-rp)]),             
//              where reaction plane (rp) is sampled uniformly for each event from interval [0,2pi]
Double_t dV1 = 0.0; // constant harmonic v1
Double_t dV2 = 0.05; // constant harmonic v2 
Double_t dV3 = 0.0; // constant harmonic v3
Double_t dV4 = 0.0; // constant harmonic v4
Double_t dV5 = 0.0; // constant harmonic v5
Double_t dV6 = 0.0; // constant harmonic v6
//    Remark 2: By default all harmonics are constant for each event and for each particle. However, for v2 
//              the uniform event-wise fluctuations or pt dependence can be enabled:
//  d1) Enable/disable uniform event-wise fluctuations of v2: 
Bool_t bUniformFluctuationsV2 = kFALSE; // enable uniform event-wise flow fluctuations (set than also dMinV2 and dMaxV2 bellow)
Double_t dMinV2 = 0.04; // lower boundary on v2, when bUniformFluctuationsV2 = kTRUE
Double_t dMaxV2 = 0.06; // upper boundary on v2, when bUniformFluctuationsV2 = kTRUE
//  d2) Enable/disable pt dependence of v2: 
Bool_t bPtDependentV2 = kFALSE; // enable pt dependence of v2 (set then also dV2vsPtMax and dV2vsPtCutOff bellow) 
Double_t dV2vsPtCutOff = 2.0; // up to pt = dV2vsPtCutOff v2 is growing linearly as a function of pt
Double_t dV2vsPtMax = 0.20; // for pt >= dV2vsPtCutOff, v2(pt) = dV2vsPtMax 

// e) Parametrize the pt distribution:
//    Remark: Hardwired is Boltzmann distribution f(pt) = pt*exp[-sqrt(dMass^2+pt^2)/dT] 
Double_t dMass = 0.13957; // mass in GeV/c^2 (e.g. m_{pions} = 0.13957)
Double_t dTemperature = 0.44; // "temperature" in GeV/c (increase this parameter to get more high pt particles) 

// f) Determine how many times each sampled particle will be taken in the analysis (simulating nonflow):
Int_t nTimes = 1; // e.g. for nTimes = 2, strong 2-particle nonflow correlations are introduced 

// g1) Configure detector's acceptance:
Bool_t uniformAcceptance = kTRUE; // if kTRUE: detectors has uniform azimuthal acceptance.
                                  // if kFALSE: you will simulate detector with non-uniform acceptance in one or 
                                  // two sectors. For each sector you specify phiMin, phiMax and probability p. 
                                  // Then all particles emitted in direction phiMin < phi < phiMax will be taken 
                                  // with probability p. If p = 0, that sector is completely blocked. Set bellow 
                                  // phiMin1, phiMax1, p1 for the first sector and phiMin2, phiMax2, p2 for the second 
                                  // sector. If you set phiMin2 = phiMax2 = p2 = 0, only first non-uniform sector is 
                                  // simulated.
// 1st non-uniform sector:
Double_t phiMin1 = 60; // first non-uniform sector starts at this azimuth (in degrees)
Double_t phiMax1 = 120; // first non-uniform sector ends at this azimuth (in degrees)
Double_t p1 = 0.5; // probablitity that particles emitted in [phiMin1,phiMax1] are taken
// 2nd non-uniform sector:
Double_t phiMin2 = 0.; // first non-uniform sector starts at this azimuth (in degrees)
Double_t phiMax2 = 0.; // first non-uniform sector ends at this azimuth (in degrees)
Double_t p2 = 0.; // probablitity that particles emitted in [phiMin2,phiMax2] are taken

// g2) Configure detector's efficiency:
Bool_t uniformEfficiency = kTRUE; // if kTRUE: detectors has uniform pT efficiency
                                  // if kFALSE: you will simulate detector with non-uniform pT efficiency. 
                                  // Then all particles emitted in ptMin <= pt < ptMax will be taken 
                                  // with probability p, to be specified in lines just below. 
Double_t ptMin = 0.8; // non-uniform efficiency vs pT starts at pT = fPtMin
Double_t ptMax = 1.2; // non-uniform efficiency vs pT ends at pT = fPtMax
Double_t p = 0.5; // probablitity that particles emitted in [ptMin,ptMax> are taken

// h) Decide which flow analysis methods you will use:
Bool_t MCEP     = kTRUE; // Monte Carlo Event Plane
Bool_t SP       = kTRUE; // Scalar Product (a.k.a 'flow analysis with eta gaps')
Bool_t GFC      = kTRUE; // Generating Function Cumulants
Bool_t QC       = kTRUE; // Q-cumulants
Bool_t FQD      = kTRUE; // Fitted q-distribution
Bool_t LYZ1SUM  = kTRUE; // Lee-Yang Zero (sum generating function), first pass over the data
Bool_t LYZ1PROD = kTRUE; // Lee-Yang Zero (product generating function), first pass over the data
Bool_t LYZ2SUM  = kFALSE; // Lee-Yang Zero (sum generating function), second pass over the data
Bool_t LYZ2PROD = kFALSE; // Lee-Yang Zero (product generating function), second pass over the data
Bool_t LYZEP    = kFALSE; // Lee-Yang Zero Event Plane
Bool_t MH       = kFALSE; // Mixed Harmonics (used for strong parity violation studies) 
Bool_t NL       = kFALSE; // Nested Loops (neeed for debugging, only for developers)
Bool_t MPC      = kTRUE; // Multi-particle correlations (NEW!)

// i) Define simple cuts for Reference Particle (RP) selection:
Double_t ptMinRP = 0.0; // in GeV
Double_t ptMaxRP = 10.0; // in GeV
Double_t etaMinRP = -1.;
Double_t etaMaxRP = 1.;
Double_t phiMinRP = 0.0; // in degrees
Double_t phiMaxRP = 360.0; // in degrees
Bool_t bUseChargeRP = kFALSE; // if kFALSE, RPs with both sign of charges are taken
Int_t chargeRP = 1; // +1 or -1

// j) Define simple cuts for Particle of Interest (POI) selection:
Double_t ptMinPOI = 0.0; // in GeV
Double_t ptMaxPOI = 10.0; // in GeV
Double_t etaMinPOI = -1.; // 
Double_t etaMaxPOI = 1.;
Double_t phiMinPOI = 0.0; // in degrees
Double_t phiMaxPOI = 360.0; // in degrees
Bool_t bUseChargePOI = kFALSE; // if kFALSE, POIs with both sign of charges are taken
Int_t chargePOI = -1; // +1 or -1

// k) Define the ranges for two subevents separated with eta gap (needed only for SP method):
Double_t etaMinA = -0.8; // minimum eta of subevent A
Double_t etaMaxA = -0.5; // maximum eta of subevent A
Double_t etaMinB = 0.5; // minimum eta of subevent B
Double_t etaMaxB = 0.8; // maximum eta of subevent B 

// l) Enable/disable usage of particle weights:
Bool_t usePhiWeights = kFALSE; // phi weights
Bool_t usePtWeights  = kFALSE; // pt weights 
Bool_t useEtaWeights = kFALSE; // eta weights

enum anaModes {mLocal,mLocalSource,mLocalPAR};
// mLocal: Analyze data on your computer using aliroot
// mLocalPAR: Analyze data on your computer using root + PAR files
// mLocalSource: Analyze data on your computer using root + source files
                                          
#include "TStopwatch.h"
#include "TObjArray"
#include "Riostream.h"
#include "TFile.h"

int runFlowAnalysisOnTheFly(Int_t mode=mLocal)
{
 // Beging analysis 'on the fly'.
 
 // a) Formal necessities....;
 // b) Initialize the flow event maker 'on the fly';
 // c) If enabled, access particle weights from external file; 
 // d) Configure the flow analysis methods;
 // e) Simple cuts for RPs;
 // f) Simple cuts for POIs;
 // g) Create and analyse events 'on the fly'; 
 // h) Create the output file and directory structure for the final results of all methods; 
 // i) Calculate and store the final results of all methods.
 
 // a) Formal necessities....:
 CheckUserSettings();
 WelcomeMessage();
 TStopwatch timer;
 timer.Start(); 
 LoadLibraries(mode);
 
 // b) Initialize the flow event maker 'on the fly':
 UInt_t uiSeed = 0; // if uiSeed is 0, the seed is determined uniquely in space and time via TUUID
 if(bSameSeed){uiSeed = 44;} 
 AliFlowEventSimpleMakerOnTheFly* eventMakerOnTheFly = new AliFlowEventSimpleMakerOnTheFly(uiSeed);
 eventMakerOnTheFly->SetMinMult(iMinMult);
 eventMakerOnTheFly->SetMaxMult(iMaxMult); 
 eventMakerOnTheFly->SetMass(dMass);
 eventMakerOnTheFly->SetTemperature(dTemperature);
 eventMakerOnTheFly->SetV1(dV1);
 eventMakerOnTheFly->SetV2(dV2);
 eventMakerOnTheFly->SetV3(dV3);
 eventMakerOnTheFly->SetV4(dV4); 
 eventMakerOnTheFly->SetV5(dV5); 
 eventMakerOnTheFly->SetV6(dV6); 
 if(bUniformFluctuationsV2)
 {
  eventMakerOnTheFly->SetUniformFluctuationsV2(bUniformFluctuationsV2); 
  eventMakerOnTheFly->SetMinV2(dMinV2);
  eventMakerOnTheFly->SetMaxV2(dMaxV2);
 }
 if(bPtDependentV2) 
 {
  eventMakerOnTheFly->SetPtDependentV2(bPtDependentV2);
  eventMakerOnTheFly->SetV2vsPtCutOff(dV2vsPtCutOff);
  eventMakerOnTheFly->SetV2vsPtMax(dV2vsPtMax);
 } 
 eventMakerOnTheFly->SetSubeventEtaRange(etaMinA,etaMaxA,etaMinB,etaMaxB); 
 eventMakerOnTheFly->SetNTimes(nTimes); 
 if(!uniformAcceptance)
 {
  eventMakerOnTheFly->SetUniformAcceptance(kFALSE);
  eventMakerOnTheFly->SetFirstSectorPhiMin(phiMin1);
  eventMakerOnTheFly->SetFirstSectorPhiMax(phiMax1);
  eventMakerOnTheFly->SetFirstSectorProbability(p1);
  eventMakerOnTheFly->SetSecondSectorPhiMin(phiMin2);
  eventMakerOnTheFly->SetSecondSectorPhiMax(phiMax2);
  eventMakerOnTheFly->SetSecondSectorProbability(p2);
 } 
 if(!uniformEfficiency)
 {
  eventMakerOnTheFly->SetUniformEfficiency(kFALSE);
  eventMakerOnTheFly->SetPtMin(ptMin);
  eventMakerOnTheFly->SetPtMax(ptMax);
  eventMakerOnTheFly->SetPtProbability(p);
 }
 eventMakerOnTheFly->Init();

 // c) If enabled, access particle weights from external file: 
 TFile *fileWithWeights = NULL;
 TList *listWithWeights = NULL; 
 if(usePhiWeights||usePtWeights||useEtaWeights) 
 {
  fileWithWeights = TFile::Open("weights.root","READ");
  if(fileWithWeights) 
  {
   listWithWeights = (TList*)fileWithWeights->Get("weights");
  }
  else
  {
   cout << " WARNING: the file <weights.root> with weights from the previous run was not found."<<endl;
   break;
  }    
 } // end of if(usePhiWeights||usePtWeights||useEtaWeights) 

 // d) Configure the flow analysis methods:
 AliFlowAnalysisWithQCumulants *qc = NULL;
 AliFlowAnalysisWithCumulants *gfc = NULL;
 AliFlowAnalysisWithFittingQDistribution *fqd = NULL;
 AliFlowAnalysisWithLeeYangZeros *lyz1sum  = NULL;
 AliFlowAnalysisWithLeeYangZeros *lyz1prod = NULL;
 AliFlowAnalysisWithLeeYangZeros *lyz2sum  = NULL;
 AliFlowAnalysisWithLeeYangZeros *lyz2prod = NULL;
 AliFlowAnalysisWithLYZEventPlane *lyzep = NULL;
 AliFlowAnalysisWithScalarProduct *sp = NULL;
 AliFlowAnalysisWithMixedHarmonics *mh = NULL;
 AliFlowAnalysisWithNestedLoops *nl = NULL;
 AliFlowAnalysisWithMCEventPlane *mcep = NULL;   
 AliFlowAnalysisWithMultiparticleCorrelations *mpc = NULL;
 // MCEP = monte carlo event plane
 if(MCEP) 
 {
  //AliFlowAnalysisWithMCEventPlane *mcep = new AliFlowAnalysisWithMCEventPlane();
  mcep = new AliFlowAnalysisWithMCEventPlane();
  mcep->SetHarmonic(2); // default is v2
  mcep->Init();
 } // end of if(MCEP)
 // SP = Scalar Product 
 if(SP) 
 {
  sp = new AliFlowAnalysisWithScalarProduct();
  if(listWithWeights){sp->SetWeightsList(listWithWeights);}
  sp->SetUsePhiWeights(usePhiWeights);  
  sp->SetHarmonic(2);
  sp->SetApplyCorrectionForNUA(kFALSE);
  sp->Init();
 } // end of if(SP)
 // QC = Q-cumulants  
 if(QC) 
 { 
  qc = new AliFlowAnalysisWithQCumulants();
  if(listWithWeights){qc->SetWeightsList(listWithWeights);}
  if(usePhiWeights){qc->SetUsePhiWeights(usePhiWeights);}
  if(usePtWeights){qc->SetUsePtWeights(usePtWeights);}
  if(useEtaWeights){qc->SetUseEtaWeights(useEtaWeights);}
  qc->SetHarmonic(2);
  qc->SetCalculateDiffFlow(kTRUE);
  qc->SetCalculate2DDiffFlow(kFALSE); // vs (pt,eta)
  qc->SetApplyCorrectionForNUA(kFALSE);
  qc->SetFillMultipleControlHistograms(kFALSE);     
  qc->SetMultiplicityWeight("combinations"); // default (other supported options are "unit" and "multiplicity")
  qc->SetCalculateCumulantsVsM(kFALSE);
  qc->SetCalculateAllCorrelationsVsM(kFALSE); // calculate all correlations in mixed harmonics "vs M"
  qc->SetnBinsMult(10000);
  qc->SetMinMult(0);
  qc->SetMaxMult(10000);      
  qc->SetBookOnlyBasicCCH(kFALSE); // book only basic common control histograms
  qc->SetCalculateDiffFlowVsEta(kTRUE); // if you set kFALSE only differential flow vs pt is calculated
  qc->SetCalculateMixedHarmonics(kFALSE); // calculate all multi-partice mixed-harmonics correlators
  qc->Init();  
 } // end of if(QC)
 // GFC = Generating Function Cumulants 
 if(GFC) 
 {
  gfc = new AliFlowAnalysisWithCumulants();
  if(listWithWeights){gfc->SetWeightsList(listWithWeights);}
  if(usePhiWeights){gfc->SetUsePhiWeights(usePhiWeights);}
  if(usePtWeights){gfc->SetUsePtWeights(usePtWeights);}
  if(useEtaWeights){gfc->SetUseEtaWeights(useEtaWeights);}
  // calculation vs multiplicity:
  gfc->SetCalculateVsMultiplicity(kFALSE);   
  gfc->SetnBinsMult(10000);
  gfc->SetMinMult(0);
  gfc->SetMaxMult(10000);   
  gfc->SetHarmonic(2);
  // tuning of interpolating parameters:
  gfc->SetTuneParameters(kFALSE);
  Double_t r0[10] = {1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.6,2.7}; // up to 10 values allowed
  for(Int_t r=0;r<10;r++){gfc->SetTuningR0(r0[r],r);}
  gfc->Init();
 } // end of if(GFC) 
 // FQD = Fitting q-distribution 
 if(FQD) 
 {
  fqd = new AliFlowAnalysisWithFittingQDistribution();
  if(listWithWeights){fqd->SetWeightsList(listWithWeights);}
  if(usePhiWeights){fqd->SetUsePhiWeights(usePhiWeights);} 
  fqd->SetHarmonic(2); 
  fqd->Init();
 } // end of if(FQD)
 // LYZ1 = Lee-Yang Zeroes first run
 if(LYZ1SUM) 
 {
  lyz1sum = new AliFlowAnalysisWithLeeYangZeros();
  lyz1sum->SetFirstRun(kTRUE);
  lyz1sum->SetUseSum(kTRUE);
  lyz1sum->Init();
 } // end of if(LYZ1SUM)
 if(LYZ1PROD) 
 {
  lyz1prod = new AliFlowAnalysisWithLeeYangZeros();
  lyz1prod->SetFirstRun(kTRUE);
  lyz1prod->SetUseSum(kFALSE);
  lyz1prod->Init();
 } // end of if(LYZ1PROD)
 // LYZ2 = Lee-Yang Zeroes second run
 if(LYZ2SUM) 
 {
  lyz2sum = new AliFlowAnalysisWithLeeYangZeros();
  // read the input file from the first run 
  TString inputFileNameLYZ2SUM = "outputLYZ1SUManalysis.root" ;
  TFile* inputFileLYZ2SUM = new TFile(inputFileNameLYZ2SUM.Data(),"READ");
  if(!inputFileLYZ2SUM || inputFileLYZ2SUM->IsZombie()) 
  { 
   cerr<<" ERROR: To run LYZ2SUM you need the output file from LYZ1SUM. This file is not there! Please run LYZ1SUM first."<<endl;
   break; 
  } else 
    { 
     TList* inputListLYZ2SUM = (TList*)inputFileLYZ2SUM->Get("cobjLYZ1SUM");  
     if(!inputListLYZ2SUM){cout<<"Input list LYZ2SUM is NULL pointer!"<<endl;break;}
     else 
     {
      cout<<"LYZ2SUM input file/list read..."<<endl;
      lyz2sum->SetFirstRunList(inputListLYZ2SUM);
      lyz2sum->SetFirstRun(kFALSE);
      lyz2sum->SetUseSum(kTRUE);
      lyz2sum->Init();
     }
   }
 } // end of if(LYZ2SUM)
 if(LYZ2PROD) 
 {
  lyz2prod = new AliFlowAnalysisWithLeeYangZeros();
  // read the input file from the first run 
  TString inputFileNameLYZ2PROD = "outputLYZ1PRODanalysis.root" ;
  TFile* inputFileLYZ2PROD = new TFile(inputFileNameLYZ2PROD.Data(),"READ");
  if(!inputFileLYZ2PROD || inputFileLYZ2PROD->IsZombie()) 
  { 
   cerr<<" ERROR: To run LYZ2PROD you need the output file from LYZ1PROD. This file is not there! Please run LYZ1PROD first."<<endl;
   break; 
  } else 
    { 
     TList* inputListLYZ2PROD = (TList*)inputFileLYZ2PROD->Get("cobjLYZ1PROD");  
     if(!inputListLYZ2PROD){cout<<"Input list LYZ2PROD is NULL pointer!"<<endl;break;}
     else 
     {
      cout<<"LYZ2PROD input file/list read..."<<endl;
      lyz2prod->SetFirstRunList(inputListLYZ2PROD);
      lyz2prod->SetFirstRun(kFALSE);
      lyz2prod->SetUseSum(kFALSE);
      lyz2prod->Init();
     }
   }
 } // end of if(LYZ2PROD) 
 // LYZEP = Lee-Yang Zeroes event plane
 if(LYZEP) 
 {
  AliFlowLYZEventPlane *ep = new AliFlowLYZEventPlane() ;
  AliFlowAnalysisWithLYZEventPlane* lyzep = new AliFlowAnalysisWithLYZEventPlane();
   // read the input file from the second lyz run 
   TString inputFileNameLYZEP = "outputLYZ2SUManalysis.root" ;
   TFile* inputFileLYZEP = new TFile(inputFileNameLYZEP.Data(),"READ");
   if(!inputFileLYZEP || inputFileLYZEP->IsZombie()) { 
     cerr << " ERROR: To run LYZEP you need the output file from LYZ2SUM. This file is not there! Please run LYZ2SUM first." << endl ; 
     break;
   }
   else { 
     TList* inputListLYZEP = (TList*)inputFileLYZEP->Get("cobjLYZ2SUM");  
     if (!inputListLYZEP) {cout<<"Input list LYZEP is NULL pointer!"<<endl; break;}
     else {
       cout<<"LYZEP input file/list read..."<<endl;
       ep   ->SetSecondRunList(inputListLYZEP);
       lyzep->SetSecondRunList(inputListLYZEP);
       ep   ->Init();
       lyzep->Init();
     }
   }
 }
 // Mixed Harmonics:
 if(MH) 
 {
  mh = new AliFlowAnalysisWithMixedHarmonics();
  mh->SetHarmonic(1); // integer n in expression cos[n(2phi1-phi2-phi3)] = v2n*vn^2
  mh->SetMinMultiplicity(100); 
  mh->SetNoOfMultipicityBins(5);  
  mh->SetMultipicityBinWidth(200);   
  mh->Init(); 
 } // end of if(MH)
 // NL = Nested Loops:
 if(NL) 
 {
  nl = new AliFlowAnalysisWithNestedLoops();
  nl->Init();
 } // end of if(NL) 
 // MPC = Multi-particle correlations
 if(MPC) 
 {
  mpc = new AliFlowAnalysisWithMultiparticleCorrelations();
  // Weights:
  //TFile *file = TFile::Open("weights.root","READ");
  //TH1D *weightsHist = (TH1D*) file->FindObjectAny("Phi weights");
  //mpc->SetPhiWeightsHist(weightsHist); 
  // Control histograms: 
  mpc->SetFillControlHistograms(kTRUE);
  mpc->SetFillKinematicsHist(kTRUE);
  // Q-vector:
  mpc->SetCalculateQvector(kTRUE);  
  // Correlations:
  mpc->SetCalculateCorrelations(kTRUE);
  mpc->SetSkipZeroHarmonics(kTRUE);
  mpc->SetCalculateIsotropic(kTRUE);
  // Standard candles:
  mpc->SetCalculateStandardCandles(kTRUE);
  // Init:
  mpc->Init();
 } // end of if(MPC)

 // e) Simple cuts for RPs: 
 AliFlowTrackSimpleCuts *cutsRP = new AliFlowTrackSimpleCuts();
 cutsRP->SetPtMax(ptMaxRP);
 cutsRP->SetPtMin(ptMinRP);
 cutsRP->SetEtaMax(etaMaxRP);
 cutsRP->SetEtaMin(etaMinRP);
 cutsRP->SetPhiMax(phiMaxRP*TMath::Pi()/180.);
 cutsRP->SetPhiMin(phiMinRP*TMath::Pi()/180.);
 if(bUseChargeRP){cutsRP->SetCharge(chargeRP);}

 // f) Simple cuts for POIs: 
 AliFlowTrackSimpleCuts *cutsPOI = new AliFlowTrackSimpleCuts();
 cutsPOI->SetPtMax(ptMaxPOI);
 cutsPOI->SetPtMin(ptMinPOI);
 cutsPOI->SetEtaMax(etaMaxPOI);
 cutsPOI->SetEtaMin(etaMinPOI);
 cutsPOI->SetPhiMax(phiMaxPOI*TMath::Pi()/180.);
 cutsPOI->SetPhiMin(phiMinPOI*TMath::Pi()/180.);
 if(bUseChargePOI){cutsPOI->SetCharge(chargePOI);}
                                       
 // g) Create and analyse events 'on the fly':
 for(Int_t i=0;i<iNevts;i++) 
 {   
  // Creating the event 'on the fly':
  AliFlowEventSimple *event = eventMakerOnTheFly->CreateEventOnTheFly(cutsRP,cutsPOI); 
  // Passing the created event to flow analysis methods:
  if(MCEP){mcep->Make(event);}
  if(QC){qc->Make(event);}
  if(GFC){gfc->Make(event);}
  if(FQD){fqd->Make(event);}
  if(LYZ1SUM){lyz1sum->Make(event);}
  if(LYZ1PROD){lyz1prod->Make(event);}
  if(LYZ2SUM){lyz2sum->Make(event);}
  if(LYZ2PROD){lyz2prod->Make(event);}
  if(LYZEP){lyzep->Make(event,ep);}
  if(SP){sp->Make(event);}
  if(MH){mh->Make(event);}
  if(NL){nl->Make(event);}
  if(MPC){mpc->Make(event);}
  delete event;
 } // end of for(Int_t i=0;i<iNevts;i++)

 // h) Create the output file and directory structure for the final results of all methods: 
 TString outputFileName = "AnalysisResults.root";  
 TFile *outputFile = new TFile(outputFileName.Data(),"RECREATE");
 const Int_t nMethods = 13;
 TString method[nMethods] = {"MCEP","SP","GFC","QC","FQD","LYZ1SUM","LYZ1PROD","LYZ2SUM","LYZ2PROD","LYZEP","MH","NL","MPC"};
 TDirectoryFile *dirFileFinal[nMethods] = {NULL};
 TString fileName[nMethods]; 
 for(Int_t i=0;i<nMethods;i++)
 {
  fileName[i]+="output";
  fileName[i]+=method[i].Data();
  fileName[i]+="analysis";
  dirFileFinal[i] = new TDirectoryFile(fileName[i].Data(),fileName[i].Data());
 } 
 
 // i) Calculate and store the final results of all methods:
 if(MCEP){mcep->Finish();mcep->WriteHistograms(dirFileFinal[0]);}
 if(SP){sp->Finish();sp->WriteHistograms(dirFileFinal[1]);}
 if(GFC){gfc->Finish();gfc->WriteHistograms(dirFileFinal[2]);}
 if(QC){qc->Finish();qc->WriteHistograms(dirFileFinal[3]);}
 if(FQD){fqd->Finish();fqd->WriteHistograms(dirFileFinal[4]);}
 if(LYZ1SUM){lyz1sum->Finish();lyz1sum->WriteHistograms(dirFileFinal[5]);}
 if(LYZ1PROD){lyz1prod->Finish();lyz1prod->WriteHistograms(dirFileFinal[6]);}
 if(LYZ2SUM){lyz2sum->Finish();lyz2sum->WriteHistograms(dirFileFinal[7]);}
 if(LYZ2PROD){lyz2prod->Finish();lyz2prod->WriteHistograms(dirFileFinal[8]);}
 if(LYZEP){lyzep->Finish();lyzep->WriteHistograms(dirFileFinal[9]);}
 if(MH){mh->Finish();mh->WriteHistograms(dirFileFinal[10]);}
 if(NL){nl->Finish();nl->WriteHistograms(dirFileFinal[11]);}
 if(MPC){mpc->Finish();mpc->WriteHistograms(dirFileFinal[12]);}
 
 outputFile->Close();
 delete outputFile;
 
 cout<<endl;
 cout<<endl;
 cout<<" ---- LANDED SUCCESSFULLY ---- "<<endl;
 cout<<endl; 
 
 timer.Stop();
 cout << endl;
 timer.Print();

} // end of int runFlowAnalysisOnTheFly(Int_t mode=mLocal)

void SetupPar(char* pararchivename)
{
  //Load par files, create analysis libraries
  //For testing, if par file already decompressed and modified
  //classes then do not decompress.
 
  TString cdir(Form("%s", gSystem->WorkingDirectory() )) ; 
  TString parpar(Form("%s.par", pararchivename)) ; 
  if ( gSystem->AccessPathName(parpar.Data()) ) {
    gSystem->ChangeDirectory(gSystem->Getenv("ALICE_ROOT")) ;
    TString processline(Form(".! make %s", parpar.Data())) ; 
    gROOT->ProcessLine(processline.Data()) ;
    gSystem->ChangeDirectory(cdir) ; 
    processline = Form(".! mv /tmp/%s .", parpar.Data()) ;
    gROOT->ProcessLine(processline.Data()) ;
  } 
  if ( gSystem->AccessPathName(pararchivename) ) {  
    TString processline = Form(".! tar xvzf %s",parpar.Data()) ;
    gROOT->ProcessLine(processline.Data());
  }
  
  TString ocwd = gSystem->WorkingDirectory();
  gSystem->ChangeDirectory(pararchivename);
  
  // check for BUILD.sh and execute
  if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
    printf("*******************************\n");
    printf("*** Building PAR archive    ***\n");
    cout<<pararchivename<<endl;
    printf("*******************************\n");
    
    if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
      Error("runProcess","Cannot Build the PAR Archive! - Abort!");
      return -1;
    }
  }
  // check for SETUP.C and execute
  if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
    printf("*******************************\n");
    printf("*** Setup PAR archive       ***\n");
    cout<<pararchivename<<endl;
    printf("*******************************\n");
    gROOT->Macro("PROOF-INF/SETUP.C");
  }
  
  gSystem->ChangeDirectory(ocwd.Data());
  printf("Current dir: %s\n", ocwd.Data());
}

void CheckUserSettings()
{
 // Check if user settings make sense before taking off.

 if(iNevts <= 0)
 {
  printf("\n WARNING: nEvts <= 0 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 } 
 if(iMinMult < 0.)
 {
  printf("\n WARNING: iMinMult < 0 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(iMaxMult <= 0.)
 {
  printf("\n WARNING: iMaxMult <= 0 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(iMinMult >= iMaxMult)
 {
  printf("\n WARNING: iMinMult >= iMaxMult !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(dMass < 0.)
 {
  printf("\n WARNING: dMass < 0 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(dTemperature <= 1e-44)
 {
  printf("\n WARNING: dTemperature <= 0 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(TMath::Abs(dV1) > 0.5)
 {
  printf("\n WARNING: |dV1| > 0.5 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(TMath::Abs(dV2) > 0.5)
 {
  printf("\n WARNING: |dV2| > 0.5 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(TMath::Abs(dV3) > 0.5)
 {
  printf("\n WARNING: |dV3| > 0.5 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(TMath::Abs(dV4) > 0.5)
 {
  printf("\n WARNING: |dV4| > 0.5 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(TMath::Abs(dV5) > 0.5)
 {
  printf("\n WARNING: |dV5| > 0.5 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(TMath::Abs(dV6) > 0.5)
 {
  printf("\n WARNING: |dV6| > 0.5 !!!! Please check your settings before taking off.\n\n");
  exit(0);
 }
 if(LYZ1SUM && LYZ2SUM)
 {
  cout<<" WARNING: You cannot run LYZ1 and LYZ2 at the same time! LYZ2 needs the output from LYZ1."<<endl; 
  exit(0); 
 }
 if(LYZ1PROD && LYZ2PROD)  
 {
  cout<<" WARNING: You cannot run LYZ1 and LYZ2 at the same time! LYZ2 needs the output from LYZ1."<<endl; 
  exit(0); 
 }
 if(LYZ2SUM && LYZEP) 
 {
  cout<<" WARNING: You cannot run LYZ2 and LYZEP at the same time! LYZEP needs the output from LYZ2."<<endl; 
  exit(0); 
 }
 if(LYZ1SUM && LYZEP) 
 {
  cout<<" WARNING: You cannot run LYZ1 and LYZEP at the same time! LYZEP needs the output from LYZ2."<<endl; 
  exit(0); 
 }

 if(!uniformAcceptance && phiMin1 > phiMax1)
 {
  cout<<" WARNING: You must have phiMin1 < phiMax1 !!!!"<<endl;
  exit(0);
 }
 if(!uniformAcceptance && !((TMath::Abs(phiMin2) < 1.e-44) && (TMath::Abs(phiMax2) < 1.e-44) && (TMath::Abs(p2) < 1.e-44)) 
    && (phiMin2 < phiMax1 || phiMin2 > phiMax2))
 {
  cout<<" WARNING: You must have phiMin2 > phiMax1 and phiMin2 < phiMax2 !!!!"<<endl;
  exit(0);
 }
 if((phiMin1 < 0 || phiMin1 > 360) || (phiMax1 < 0 || phiMax1 > 360) || 
    (phiMin2 < 0 || phiMin2 > 360) || (phiMax2 < 0 || phiMax2 > 360) )
 {
  cout<<" WARNING: You must take azimuthal angles from interval [0,360] !!!!"<<endl;
  exit(0);
 }
 if((p1 < 0 || p1 > 1) || (p2 < 0 || p2 > 1))
 {
  cout<<" WARNING: you must take p1 and p2 from interval [0,1] !!!!"<<endl;
  exit(0);
 }
 if(bPtDependentV2 && bUniformFluctuationsV2)
 {
  cout<<" WARNING: Uniform fluctuations not supported for pt denependent v2 !!!!"<<endl;
  exit(0);
 }

} // end of void CheckUserSettings()

void WelcomeMessage()
{
 // Welcome.

 cout<<endl;
 cout<<endl;
 cout<<"      ---- ARE YOU READY TO FLY ? ----      "<<endl;
 cout<<endl;
 
 gSystem->Sleep(1544);
 
 cout<<endl;
 cout<<" ---- BEGIN FLOW ANALYSIS 'ON THE FLY' ---- "<<endl;
 cout<<endl;
 cout<<endl;

 gSystem->Sleep(1544);

} // end of void WelcomeMessage()

void LoadLibraries(const anaModes mode) {
  
  //--------------------------------------
  // Load the needed libraries most of them already loaded by aliroot
  //--------------------------------------
  //gSystem->Load("libTree");
  gSystem->Load("libGeom");
  gSystem->Load("libVMC");
  gSystem->Load("libXMLIO");
  gSystem->Load("libPhysics");
  
  //----------------------------------------------------------
  // >>>>>>>>>>> Local mode <<<<<<<<<<<<<< 
  //----------------------------------------------------------
  if (mode==mLocal) {
    //--------------------------------------------------------
    // If you want to use already compiled libraries 
    // in the aliroot distribution
    //--------------------------------------------------------
    gSystem->Load("libSTEERBase");
    gSystem->Load("libESD");
    gSystem->Load("libAOD");
    gSystem->Load("libANALYSIS");
    gSystem->Load("libANALYSISalice");
    gSystem->Load("libCORRFW");
    cerr<<"libCORRFW loaded..."<<endl;
    gSystem->Load("libPWGflowBase");
    cerr<<"libPWGflowBase loaded..."<<endl;
    gSystem->Load("libPWGflowTasks");
    cerr<<"libPWGflowTasks loaded..."<<endl;
  }
  
  else if (mode == mLocalPAR) {
    //--------------------------------------------------------
    //If you want to use root and par files from aliroot
    //--------------------------------------------------------  
     //If you want to use root and par files from aliroot
    //--------------------------------------------------------  
    SetupPar("STEERBase");
    SetupPar("ESD");
    SetupPar("AOD");
    SetupPar("ANALYSIS");
    SetupPar("ANALYSISalice");
    SetupPar("PWG2AOD");
    SetupPar("CORRFW");
    SetupPar("PWGflowBase");
    cerr<<"PWGflowBase.par loaded..."<<endl;
    SetupPar("PWGflowTasks");
    cerr<<"PWGflowTasks.par loaded..."<<endl;
  }
  
  //---------------------------------------------------------
  // <<<<<<<<<< Source mode >>>>>>>>>>>>
  //---------------------------------------------------------
  else if (mode==mLocalSource) {
 
    // In root inline compile

    // Constants  
    gROOT->LoadMacro("Base/AliFlowCommonConstants.cxx+");
    gROOT->LoadMacro("Base/AliFlowLYZConstants.cxx+");
    
    // Flow event
    gROOT->LoadMacro("Base/AliFlowVector.cxx+"); 
    gROOT->LoadMacro("Base/AliFlowTrackSimple.cxx+");    
    gROOT->LoadMacro("Base/AliFlowTrackSimpleCuts.cxx+");    
    gROOT->LoadMacro("Base/AliFlowEventSimple.cxx+");
    
    // Output histosgrams
    gROOT->LoadMacro("Base/AliFlowCommonHist.cxx+");
    gROOT->LoadMacro("Base/AliFlowCommonHistResults.cxx+");
    gROOT->LoadMacro("Base/AliFlowLYZHist1.cxx+");
    gROOT->LoadMacro("Base/AliFlowLYZHist2.cxx+");
    
    // Functions needed for various methods
    gROOT->LoadMacro("Base/AliCumulantsFunctions.cxx+");
    gROOT->LoadMacro("Base/AliFlowLYZEventPlane.cxx+");
    
    // Flow Analysis code for various methods
    gROOT->LoadMacro("Base/AliFlowAnalysisWithMCEventPlane.cxx+"); 
    gROOT->LoadMacro("Base/AliFlowAnalysisWithScalarProduct.cxx+");
    gROOT->LoadMacro("Base/AliFlowAnalysisWithLYZEventPlane.cxx+");
    gROOT->LoadMacro("Base/AliFlowAnalysisWithLeeYangZeros.cxx+");
    gROOT->LoadMacro("Base/AliFlowAnalysisWithCumulants.cxx+");
    gROOT->LoadMacro("Base/AliFlowAnalysisWithQCumulants.cxx+"); 
    gROOT->LoadMacro("Base/AliFlowAnalysisWithFittingQDistribution.cxx+");
    gROOT->LoadMacro("Base/AliFlowAnalysisWithMixedHarmonics.cxx+"); 
    gROOT->LoadMacro("Base/AliFlowAnalysisWithNestedLoops.cxx+");
    
    // Class to fill the FlowEvent on the fly (generate Monte Carlo events)
    gROOT->LoadMacro("Base/AliFlowEventSimpleMakerOnTheFly.cxx+");   
    
    cout << "finished loading macros!" << endl;  
    
  }  
  
}


 runFlowAnalysisOnTheFly.C:1
 runFlowAnalysisOnTheFly.C:2
 runFlowAnalysisOnTheFly.C:3
 runFlowAnalysisOnTheFly.C:4
 runFlowAnalysisOnTheFly.C:5
 runFlowAnalysisOnTheFly.C:6
 runFlowAnalysisOnTheFly.C:7
 runFlowAnalysisOnTheFly.C:8
 runFlowAnalysisOnTheFly.C:9
 runFlowAnalysisOnTheFly.C:10
 runFlowAnalysisOnTheFly.C:11
 runFlowAnalysisOnTheFly.C:12
 runFlowAnalysisOnTheFly.C:13
 runFlowAnalysisOnTheFly.C:14
 runFlowAnalysisOnTheFly.C:15
 runFlowAnalysisOnTheFly.C:16
 runFlowAnalysisOnTheFly.C:17
 runFlowAnalysisOnTheFly.C:18
 runFlowAnalysisOnTheFly.C:19
 runFlowAnalysisOnTheFly.C:20
 runFlowAnalysisOnTheFly.C:21
 runFlowAnalysisOnTheFly.C:22
 runFlowAnalysisOnTheFly.C:23
 runFlowAnalysisOnTheFly.C:24
 runFlowAnalysisOnTheFly.C:25
 runFlowAnalysisOnTheFly.C:26
 runFlowAnalysisOnTheFly.C:27
 runFlowAnalysisOnTheFly.C:28
 runFlowAnalysisOnTheFly.C:29
 runFlowAnalysisOnTheFly.C:30
 runFlowAnalysisOnTheFly.C:31
 runFlowAnalysisOnTheFly.C:32
 runFlowAnalysisOnTheFly.C:33
 runFlowAnalysisOnTheFly.C:34
 runFlowAnalysisOnTheFly.C:35
 runFlowAnalysisOnTheFly.C:36
 runFlowAnalysisOnTheFly.C:37
 runFlowAnalysisOnTheFly.C:38
 runFlowAnalysisOnTheFly.C:39
 runFlowAnalysisOnTheFly.C:40
 runFlowAnalysisOnTheFly.C:41
 runFlowAnalysisOnTheFly.C:42
 runFlowAnalysisOnTheFly.C:43
 runFlowAnalysisOnTheFly.C:44
 runFlowAnalysisOnTheFly.C:45
 runFlowAnalysisOnTheFly.C:46
 runFlowAnalysisOnTheFly.C:47
 runFlowAnalysisOnTheFly.C:48
 runFlowAnalysisOnTheFly.C:49
 runFlowAnalysisOnTheFly.C:50
 runFlowAnalysisOnTheFly.C:51
 runFlowAnalysisOnTheFly.C:52
 runFlowAnalysisOnTheFly.C:53
 runFlowAnalysisOnTheFly.C:54
 runFlowAnalysisOnTheFly.C:55
 runFlowAnalysisOnTheFly.C:56
 runFlowAnalysisOnTheFly.C:57
 runFlowAnalysisOnTheFly.C:58
 runFlowAnalysisOnTheFly.C:59
 runFlowAnalysisOnTheFly.C:60
 runFlowAnalysisOnTheFly.C:61
 runFlowAnalysisOnTheFly.C:62
 runFlowAnalysisOnTheFly.C:63
 runFlowAnalysisOnTheFly.C:64
 runFlowAnalysisOnTheFly.C:65
 runFlowAnalysisOnTheFly.C:66
 runFlowAnalysisOnTheFly.C:67
 runFlowAnalysisOnTheFly.C:68
 runFlowAnalysisOnTheFly.C:69
 runFlowAnalysisOnTheFly.C:70
 runFlowAnalysisOnTheFly.C:71
 runFlowAnalysisOnTheFly.C:72
 runFlowAnalysisOnTheFly.C:73
 runFlowAnalysisOnTheFly.C:74
 runFlowAnalysisOnTheFly.C:75
 runFlowAnalysisOnTheFly.C:76
 runFlowAnalysisOnTheFly.C:77
 runFlowAnalysisOnTheFly.C:78
 runFlowAnalysisOnTheFly.C:79
 runFlowAnalysisOnTheFly.C:80
 runFlowAnalysisOnTheFly.C:81
 runFlowAnalysisOnTheFly.C:82
 runFlowAnalysisOnTheFly.C:83
 runFlowAnalysisOnTheFly.C:84
 runFlowAnalysisOnTheFly.C:85
 runFlowAnalysisOnTheFly.C:86
 runFlowAnalysisOnTheFly.C:87
 runFlowAnalysisOnTheFly.C:88
 runFlowAnalysisOnTheFly.C:89
 runFlowAnalysisOnTheFly.C:90
 runFlowAnalysisOnTheFly.C:91
 runFlowAnalysisOnTheFly.C:92
 runFlowAnalysisOnTheFly.C:93
 runFlowAnalysisOnTheFly.C:94
 runFlowAnalysisOnTheFly.C:95
 runFlowAnalysisOnTheFly.C:96
 runFlowAnalysisOnTheFly.C:97
 runFlowAnalysisOnTheFly.C:98
 runFlowAnalysisOnTheFly.C:99
 runFlowAnalysisOnTheFly.C:100
 runFlowAnalysisOnTheFly.C:101
 runFlowAnalysisOnTheFly.C:102
 runFlowAnalysisOnTheFly.C:103
 runFlowAnalysisOnTheFly.C:104
 runFlowAnalysisOnTheFly.C:105
 runFlowAnalysisOnTheFly.C:106
 runFlowAnalysisOnTheFly.C:107
 runFlowAnalysisOnTheFly.C:108
 runFlowAnalysisOnTheFly.C:109
 runFlowAnalysisOnTheFly.C:110
 runFlowAnalysisOnTheFly.C:111
 runFlowAnalysisOnTheFly.C:112
 runFlowAnalysisOnTheFly.C:113
 runFlowAnalysisOnTheFly.C:114
 runFlowAnalysisOnTheFly.C:115
 runFlowAnalysisOnTheFly.C:116
 runFlowAnalysisOnTheFly.C:117
 runFlowAnalysisOnTheFly.C:118
 runFlowAnalysisOnTheFly.C:119
 runFlowAnalysisOnTheFly.C:120
 runFlowAnalysisOnTheFly.C:121
 runFlowAnalysisOnTheFly.C:122
 runFlowAnalysisOnTheFly.C:123
 runFlowAnalysisOnTheFly.C:124
 runFlowAnalysisOnTheFly.C:125
 runFlowAnalysisOnTheFly.C:126
 runFlowAnalysisOnTheFly.C:127
 runFlowAnalysisOnTheFly.C:128
 runFlowAnalysisOnTheFly.C:129
 runFlowAnalysisOnTheFly.C:130
 runFlowAnalysisOnTheFly.C:131
 runFlowAnalysisOnTheFly.C:132
 runFlowAnalysisOnTheFly.C:133
 runFlowAnalysisOnTheFly.C:134
 runFlowAnalysisOnTheFly.C:135
 runFlowAnalysisOnTheFly.C:136
 runFlowAnalysisOnTheFly.C:137
 runFlowAnalysisOnTheFly.C:138
 runFlowAnalysisOnTheFly.C:139
 runFlowAnalysisOnTheFly.C:140
 runFlowAnalysisOnTheFly.C:141
 runFlowAnalysisOnTheFly.C:142
 runFlowAnalysisOnTheFly.C:143
 runFlowAnalysisOnTheFly.C:144
 runFlowAnalysisOnTheFly.C:145
 runFlowAnalysisOnTheFly.C:146
 runFlowAnalysisOnTheFly.C:147
 runFlowAnalysisOnTheFly.C:148
 runFlowAnalysisOnTheFly.C:149
 runFlowAnalysisOnTheFly.C:150
 runFlowAnalysisOnTheFly.C:151
 runFlowAnalysisOnTheFly.C:152
 runFlowAnalysisOnTheFly.C:153
 runFlowAnalysisOnTheFly.C:154
 runFlowAnalysisOnTheFly.C:155
 runFlowAnalysisOnTheFly.C:156
 runFlowAnalysisOnTheFly.C:157
 runFlowAnalysisOnTheFly.C:158
 runFlowAnalysisOnTheFly.C:159
 runFlowAnalysisOnTheFly.C:160
 runFlowAnalysisOnTheFly.C:161
 runFlowAnalysisOnTheFly.C:162
 runFlowAnalysisOnTheFly.C:163
 runFlowAnalysisOnTheFly.C:164
 runFlowAnalysisOnTheFly.C:165
 runFlowAnalysisOnTheFly.C:166
 runFlowAnalysisOnTheFly.C:167
 runFlowAnalysisOnTheFly.C:168
 runFlowAnalysisOnTheFly.C:169
 runFlowAnalysisOnTheFly.C:170
 runFlowAnalysisOnTheFly.C:171
 runFlowAnalysisOnTheFly.C:172
 runFlowAnalysisOnTheFly.C:173
 runFlowAnalysisOnTheFly.C:174
 runFlowAnalysisOnTheFly.C:175
 runFlowAnalysisOnTheFly.C:176
 runFlowAnalysisOnTheFly.C:177
 runFlowAnalysisOnTheFly.C:178
 runFlowAnalysisOnTheFly.C:179
 runFlowAnalysisOnTheFly.C:180
 runFlowAnalysisOnTheFly.C:181
 runFlowAnalysisOnTheFly.C:182
 runFlowAnalysisOnTheFly.C:183
 runFlowAnalysisOnTheFly.C:184
 runFlowAnalysisOnTheFly.C:185
 runFlowAnalysisOnTheFly.C:186
 runFlowAnalysisOnTheFly.C:187
 runFlowAnalysisOnTheFly.C:188
 runFlowAnalysisOnTheFly.C:189
 runFlowAnalysisOnTheFly.C:190
 runFlowAnalysisOnTheFly.C:191
 runFlowAnalysisOnTheFly.C:192
 runFlowAnalysisOnTheFly.C:193
 runFlowAnalysisOnTheFly.C:194
 runFlowAnalysisOnTheFly.C:195
 runFlowAnalysisOnTheFly.C:196
 runFlowAnalysisOnTheFly.C:197
 runFlowAnalysisOnTheFly.C:198
 runFlowAnalysisOnTheFly.C:199
 runFlowAnalysisOnTheFly.C:200
 runFlowAnalysisOnTheFly.C:201
 runFlowAnalysisOnTheFly.C:202
 runFlowAnalysisOnTheFly.C:203
 runFlowAnalysisOnTheFly.C:204
 runFlowAnalysisOnTheFly.C:205
 runFlowAnalysisOnTheFly.C:206
 runFlowAnalysisOnTheFly.C:207
 runFlowAnalysisOnTheFly.C:208
 runFlowAnalysisOnTheFly.C:209
 runFlowAnalysisOnTheFly.C:210
 runFlowAnalysisOnTheFly.C:211
 runFlowAnalysisOnTheFly.C:212
 runFlowAnalysisOnTheFly.C:213
 runFlowAnalysisOnTheFly.C:214
 runFlowAnalysisOnTheFly.C:215
 runFlowAnalysisOnTheFly.C:216
 runFlowAnalysisOnTheFly.C:217
 runFlowAnalysisOnTheFly.C:218
 runFlowAnalysisOnTheFly.C:219
 runFlowAnalysisOnTheFly.C:220
 runFlowAnalysisOnTheFly.C:221
 runFlowAnalysisOnTheFly.C:222
 runFlowAnalysisOnTheFly.C:223
 runFlowAnalysisOnTheFly.C:224
 runFlowAnalysisOnTheFly.C:225
 runFlowAnalysisOnTheFly.C:226
 runFlowAnalysisOnTheFly.C:227
 runFlowAnalysisOnTheFly.C:228
 runFlowAnalysisOnTheFly.C:229
 runFlowAnalysisOnTheFly.C:230
 runFlowAnalysisOnTheFly.C:231
 runFlowAnalysisOnTheFly.C:232
 runFlowAnalysisOnTheFly.C:233
 runFlowAnalysisOnTheFly.C:234
 runFlowAnalysisOnTheFly.C:235
 runFlowAnalysisOnTheFly.C:236
 runFlowAnalysisOnTheFly.C:237
 runFlowAnalysisOnTheFly.C:238
 runFlowAnalysisOnTheFly.C:239
 runFlowAnalysisOnTheFly.C:240
 runFlowAnalysisOnTheFly.C:241
 runFlowAnalysisOnTheFly.C:242
 runFlowAnalysisOnTheFly.C:243
 runFlowAnalysisOnTheFly.C:244
 runFlowAnalysisOnTheFly.C:245
 runFlowAnalysisOnTheFly.C:246
 runFlowAnalysisOnTheFly.C:247
 runFlowAnalysisOnTheFly.C:248
 runFlowAnalysisOnTheFly.C:249
 runFlowAnalysisOnTheFly.C:250
 runFlowAnalysisOnTheFly.C:251
 runFlowAnalysisOnTheFly.C:252
 runFlowAnalysisOnTheFly.C:253
 runFlowAnalysisOnTheFly.C:254
 runFlowAnalysisOnTheFly.C:255
 runFlowAnalysisOnTheFly.C:256
 runFlowAnalysisOnTheFly.C:257
 runFlowAnalysisOnTheFly.C:258
 runFlowAnalysisOnTheFly.C:259
 runFlowAnalysisOnTheFly.C:260
 runFlowAnalysisOnTheFly.C:261
 runFlowAnalysisOnTheFly.C:262
 runFlowAnalysisOnTheFly.C:263
 runFlowAnalysisOnTheFly.C:264
 runFlowAnalysisOnTheFly.C:265
 runFlowAnalysisOnTheFly.C:266
 runFlowAnalysisOnTheFly.C:267
 runFlowAnalysisOnTheFly.C:268
 runFlowAnalysisOnTheFly.C:269
 runFlowAnalysisOnTheFly.C:270
 runFlowAnalysisOnTheFly.C:271
 runFlowAnalysisOnTheFly.C:272
 runFlowAnalysisOnTheFly.C:273
 runFlowAnalysisOnTheFly.C:274
 runFlowAnalysisOnTheFly.C:275
 runFlowAnalysisOnTheFly.C:276
 runFlowAnalysisOnTheFly.C:277
 runFlowAnalysisOnTheFly.C:278
 runFlowAnalysisOnTheFly.C:279
 runFlowAnalysisOnTheFly.C:280
 runFlowAnalysisOnTheFly.C:281
 runFlowAnalysisOnTheFly.C:282
 runFlowAnalysisOnTheFly.C:283
 runFlowAnalysisOnTheFly.C:284
 runFlowAnalysisOnTheFly.C:285
 runFlowAnalysisOnTheFly.C:286
 runFlowAnalysisOnTheFly.C:287
 runFlowAnalysisOnTheFly.C:288
 runFlowAnalysisOnTheFly.C:289
 runFlowAnalysisOnTheFly.C:290
 runFlowAnalysisOnTheFly.C:291
 runFlowAnalysisOnTheFly.C:292
 runFlowAnalysisOnTheFly.C:293
 runFlowAnalysisOnTheFly.C:294
 runFlowAnalysisOnTheFly.C:295
 runFlowAnalysisOnTheFly.C:296
 runFlowAnalysisOnTheFly.C:297
 runFlowAnalysisOnTheFly.C:298
 runFlowAnalysisOnTheFly.C:299
 runFlowAnalysisOnTheFly.C:300
 runFlowAnalysisOnTheFly.C:301
 runFlowAnalysisOnTheFly.C:302
 runFlowAnalysisOnTheFly.C:303
 runFlowAnalysisOnTheFly.C:304
 runFlowAnalysisOnTheFly.C:305
 runFlowAnalysisOnTheFly.C:306
 runFlowAnalysisOnTheFly.C:307
 runFlowAnalysisOnTheFly.C:308
 runFlowAnalysisOnTheFly.C:309
 runFlowAnalysisOnTheFly.C:310
 runFlowAnalysisOnTheFly.C:311
 runFlowAnalysisOnTheFly.C:312
 runFlowAnalysisOnTheFly.C:313
 runFlowAnalysisOnTheFly.C:314
 runFlowAnalysisOnTheFly.C:315
 runFlowAnalysisOnTheFly.C:316
 runFlowAnalysisOnTheFly.C:317
 runFlowAnalysisOnTheFly.C:318
 runFlowAnalysisOnTheFly.C:319
 runFlowAnalysisOnTheFly.C:320
 runFlowAnalysisOnTheFly.C:321
 runFlowAnalysisOnTheFly.C:322
 runFlowAnalysisOnTheFly.C:323
 runFlowAnalysisOnTheFly.C:324
 runFlowAnalysisOnTheFly.C:325
 runFlowAnalysisOnTheFly.C:326
 runFlowAnalysisOnTheFly.C:327
 runFlowAnalysisOnTheFly.C:328
 runFlowAnalysisOnTheFly.C:329
 runFlowAnalysisOnTheFly.C:330
 runFlowAnalysisOnTheFly.C:331
 runFlowAnalysisOnTheFly.C:332
 runFlowAnalysisOnTheFly.C:333
 runFlowAnalysisOnTheFly.C:334
 runFlowAnalysisOnTheFly.C:335
 runFlowAnalysisOnTheFly.C:336
 runFlowAnalysisOnTheFly.C:337
 runFlowAnalysisOnTheFly.C:338
 runFlowAnalysisOnTheFly.C:339
 runFlowAnalysisOnTheFly.C:340
 runFlowAnalysisOnTheFly.C:341
 runFlowAnalysisOnTheFly.C:342
 runFlowAnalysisOnTheFly.C:343
 runFlowAnalysisOnTheFly.C:344
 runFlowAnalysisOnTheFly.C:345
 runFlowAnalysisOnTheFly.C:346
 runFlowAnalysisOnTheFly.C:347
 runFlowAnalysisOnTheFly.C:348
 runFlowAnalysisOnTheFly.C:349
 runFlowAnalysisOnTheFly.C:350
 runFlowAnalysisOnTheFly.C:351
 runFlowAnalysisOnTheFly.C:352
 runFlowAnalysisOnTheFly.C:353
 runFlowAnalysisOnTheFly.C:354
 runFlowAnalysisOnTheFly.C:355
 runFlowAnalysisOnTheFly.C:356
 runFlowAnalysisOnTheFly.C:357
 runFlowAnalysisOnTheFly.C:358
 runFlowAnalysisOnTheFly.C:359
 runFlowAnalysisOnTheFly.C:360
 runFlowAnalysisOnTheFly.C:361
 runFlowAnalysisOnTheFly.C:362
 runFlowAnalysisOnTheFly.C:363
 runFlowAnalysisOnTheFly.C:364
 runFlowAnalysisOnTheFly.C:365
 runFlowAnalysisOnTheFly.C:366
 runFlowAnalysisOnTheFly.C:367
 runFlowAnalysisOnTheFly.C:368
 runFlowAnalysisOnTheFly.C:369
 runFlowAnalysisOnTheFly.C:370
 runFlowAnalysisOnTheFly.C:371
 runFlowAnalysisOnTheFly.C:372
 runFlowAnalysisOnTheFly.C:373
 runFlowAnalysisOnTheFly.C:374
 runFlowAnalysisOnTheFly.C:375
 runFlowAnalysisOnTheFly.C:376
 runFlowAnalysisOnTheFly.C:377
 runFlowAnalysisOnTheFly.C:378
 runFlowAnalysisOnTheFly.C:379
 runFlowAnalysisOnTheFly.C:380
 runFlowAnalysisOnTheFly.C:381
 runFlowAnalysisOnTheFly.C:382
 runFlowAnalysisOnTheFly.C:383
 runFlowAnalysisOnTheFly.C:384
 runFlowAnalysisOnTheFly.C:385
 runFlowAnalysisOnTheFly.C:386
 runFlowAnalysisOnTheFly.C:387
 runFlowAnalysisOnTheFly.C:388
 runFlowAnalysisOnTheFly.C:389
 runFlowAnalysisOnTheFly.C:390
 runFlowAnalysisOnTheFly.C:391
 runFlowAnalysisOnTheFly.C:392
 runFlowAnalysisOnTheFly.C:393
 runFlowAnalysisOnTheFly.C:394
 runFlowAnalysisOnTheFly.C:395
 runFlowAnalysisOnTheFly.C:396
 runFlowAnalysisOnTheFly.C:397
 runFlowAnalysisOnTheFly.C:398
 runFlowAnalysisOnTheFly.C:399
 runFlowAnalysisOnTheFly.C:400
 runFlowAnalysisOnTheFly.C:401
 runFlowAnalysisOnTheFly.C:402
 runFlowAnalysisOnTheFly.C:403
 runFlowAnalysisOnTheFly.C:404
 runFlowAnalysisOnTheFly.C:405
 runFlowAnalysisOnTheFly.C:406
 runFlowAnalysisOnTheFly.C:407
 runFlowAnalysisOnTheFly.C:408
 runFlowAnalysisOnTheFly.C:409
 runFlowAnalysisOnTheFly.C:410
 runFlowAnalysisOnTheFly.C:411
 runFlowAnalysisOnTheFly.C:412
 runFlowAnalysisOnTheFly.C:413
 runFlowAnalysisOnTheFly.C:414
 runFlowAnalysisOnTheFly.C:415
 runFlowAnalysisOnTheFly.C:416
 runFlowAnalysisOnTheFly.C:417
 runFlowAnalysisOnTheFly.C:418
 runFlowAnalysisOnTheFly.C:419
 runFlowAnalysisOnTheFly.C:420
 runFlowAnalysisOnTheFly.C:421
 runFlowAnalysisOnTheFly.C:422
 runFlowAnalysisOnTheFly.C:423
 runFlowAnalysisOnTheFly.C:424
 runFlowAnalysisOnTheFly.C:425
 runFlowAnalysisOnTheFly.C:426
 runFlowAnalysisOnTheFly.C:427
 runFlowAnalysisOnTheFly.C:428
 runFlowAnalysisOnTheFly.C:429
 runFlowAnalysisOnTheFly.C:430
 runFlowAnalysisOnTheFly.C:431
 runFlowAnalysisOnTheFly.C:432
 runFlowAnalysisOnTheFly.C:433
 runFlowAnalysisOnTheFly.C:434
 runFlowAnalysisOnTheFly.C:435
 runFlowAnalysisOnTheFly.C:436
 runFlowAnalysisOnTheFly.C:437
 runFlowAnalysisOnTheFly.C:438
 runFlowAnalysisOnTheFly.C:439
 runFlowAnalysisOnTheFly.C:440
 runFlowAnalysisOnTheFly.C:441
 runFlowAnalysisOnTheFly.C:442
 runFlowAnalysisOnTheFly.C:443
 runFlowAnalysisOnTheFly.C:444
 runFlowAnalysisOnTheFly.C:445
 runFlowAnalysisOnTheFly.C:446
 runFlowAnalysisOnTheFly.C:447
 runFlowAnalysisOnTheFly.C:448
 runFlowAnalysisOnTheFly.C:449
 runFlowAnalysisOnTheFly.C:450
 runFlowAnalysisOnTheFly.C:451
 runFlowAnalysisOnTheFly.C:452
 runFlowAnalysisOnTheFly.C:453
 runFlowAnalysisOnTheFly.C:454
 runFlowAnalysisOnTheFly.C:455
 runFlowAnalysisOnTheFly.C:456
 runFlowAnalysisOnTheFly.C:457
 runFlowAnalysisOnTheFly.C:458
 runFlowAnalysisOnTheFly.C:459
 runFlowAnalysisOnTheFly.C:460
 runFlowAnalysisOnTheFly.C:461
 runFlowAnalysisOnTheFly.C:462
 runFlowAnalysisOnTheFly.C:463
 runFlowAnalysisOnTheFly.C:464
 runFlowAnalysisOnTheFly.C:465
 runFlowAnalysisOnTheFly.C:466
 runFlowAnalysisOnTheFly.C:467
 runFlowAnalysisOnTheFly.C:468
 runFlowAnalysisOnTheFly.C:469
 runFlowAnalysisOnTheFly.C:470
 runFlowAnalysisOnTheFly.C:471
 runFlowAnalysisOnTheFly.C:472
 runFlowAnalysisOnTheFly.C:473
 runFlowAnalysisOnTheFly.C:474
 runFlowAnalysisOnTheFly.C:475
 runFlowAnalysisOnTheFly.C:476
 runFlowAnalysisOnTheFly.C:477
 runFlowAnalysisOnTheFly.C:478
 runFlowAnalysisOnTheFly.C:479
 runFlowAnalysisOnTheFly.C:480
 runFlowAnalysisOnTheFly.C:481
 runFlowAnalysisOnTheFly.C:482
 runFlowAnalysisOnTheFly.C:483
 runFlowAnalysisOnTheFly.C:484
 runFlowAnalysisOnTheFly.C:485
 runFlowAnalysisOnTheFly.C:486
 runFlowAnalysisOnTheFly.C:487
 runFlowAnalysisOnTheFly.C:488
 runFlowAnalysisOnTheFly.C:489
 runFlowAnalysisOnTheFly.C:490
 runFlowAnalysisOnTheFly.C:491
 runFlowAnalysisOnTheFly.C:492
 runFlowAnalysisOnTheFly.C:493
 runFlowAnalysisOnTheFly.C:494
 runFlowAnalysisOnTheFly.C:495
 runFlowAnalysisOnTheFly.C:496
 runFlowAnalysisOnTheFly.C:497
 runFlowAnalysisOnTheFly.C:498
 runFlowAnalysisOnTheFly.C:499
 runFlowAnalysisOnTheFly.C:500
 runFlowAnalysisOnTheFly.C:501
 runFlowAnalysisOnTheFly.C:502
 runFlowAnalysisOnTheFly.C:503
 runFlowAnalysisOnTheFly.C:504
 runFlowAnalysisOnTheFly.C:505
 runFlowAnalysisOnTheFly.C:506
 runFlowAnalysisOnTheFly.C:507
 runFlowAnalysisOnTheFly.C:508
 runFlowAnalysisOnTheFly.C:509
 runFlowAnalysisOnTheFly.C:510
 runFlowAnalysisOnTheFly.C:511
 runFlowAnalysisOnTheFly.C:512
 runFlowAnalysisOnTheFly.C:513
 runFlowAnalysisOnTheFly.C:514
 runFlowAnalysisOnTheFly.C:515
 runFlowAnalysisOnTheFly.C:516
 runFlowAnalysisOnTheFly.C:517
 runFlowAnalysisOnTheFly.C:518
 runFlowAnalysisOnTheFly.C:519
 runFlowAnalysisOnTheFly.C:520
 runFlowAnalysisOnTheFly.C:521
 runFlowAnalysisOnTheFly.C:522
 runFlowAnalysisOnTheFly.C:523
 runFlowAnalysisOnTheFly.C:524
 runFlowAnalysisOnTheFly.C:525
 runFlowAnalysisOnTheFly.C:526
 runFlowAnalysisOnTheFly.C:527
 runFlowAnalysisOnTheFly.C:528
 runFlowAnalysisOnTheFly.C:529
 runFlowAnalysisOnTheFly.C:530
 runFlowAnalysisOnTheFly.C:531
 runFlowAnalysisOnTheFly.C:532
 runFlowAnalysisOnTheFly.C:533
 runFlowAnalysisOnTheFly.C:534
 runFlowAnalysisOnTheFly.C:535
 runFlowAnalysisOnTheFly.C:536
 runFlowAnalysisOnTheFly.C:537
 runFlowAnalysisOnTheFly.C:538
 runFlowAnalysisOnTheFly.C:539
 runFlowAnalysisOnTheFly.C:540
 runFlowAnalysisOnTheFly.C:541
 runFlowAnalysisOnTheFly.C:542
 runFlowAnalysisOnTheFly.C:543
 runFlowAnalysisOnTheFly.C:544
 runFlowAnalysisOnTheFly.C:545
 runFlowAnalysisOnTheFly.C:546
 runFlowAnalysisOnTheFly.C:547
 runFlowAnalysisOnTheFly.C:548
 runFlowAnalysisOnTheFly.C:549
 runFlowAnalysisOnTheFly.C:550
 runFlowAnalysisOnTheFly.C:551
 runFlowAnalysisOnTheFly.C:552
 runFlowAnalysisOnTheFly.C:553
 runFlowAnalysisOnTheFly.C:554
 runFlowAnalysisOnTheFly.C:555
 runFlowAnalysisOnTheFly.C:556
 runFlowAnalysisOnTheFly.C:557
 runFlowAnalysisOnTheFly.C:558
 runFlowAnalysisOnTheFly.C:559
 runFlowAnalysisOnTheFly.C:560
 runFlowAnalysisOnTheFly.C:561
 runFlowAnalysisOnTheFly.C:562
 runFlowAnalysisOnTheFly.C:563
 runFlowAnalysisOnTheFly.C:564
 runFlowAnalysisOnTheFly.C:565
 runFlowAnalysisOnTheFly.C:566
 runFlowAnalysisOnTheFly.C:567
 runFlowAnalysisOnTheFly.C:568
 runFlowAnalysisOnTheFly.C:569
 runFlowAnalysisOnTheFly.C:570
 runFlowAnalysisOnTheFly.C:571
 runFlowAnalysisOnTheFly.C:572
 runFlowAnalysisOnTheFly.C:573
 runFlowAnalysisOnTheFly.C:574
 runFlowAnalysisOnTheFly.C:575
 runFlowAnalysisOnTheFly.C:576
 runFlowAnalysisOnTheFly.C:577
 runFlowAnalysisOnTheFly.C:578
 runFlowAnalysisOnTheFly.C:579
 runFlowAnalysisOnTheFly.C:580
 runFlowAnalysisOnTheFly.C:581
 runFlowAnalysisOnTheFly.C:582
 runFlowAnalysisOnTheFly.C:583
 runFlowAnalysisOnTheFly.C:584
 runFlowAnalysisOnTheFly.C:585
 runFlowAnalysisOnTheFly.C:586
 runFlowAnalysisOnTheFly.C:587
 runFlowAnalysisOnTheFly.C:588
 runFlowAnalysisOnTheFly.C:589
 runFlowAnalysisOnTheFly.C:590
 runFlowAnalysisOnTheFly.C:591
 runFlowAnalysisOnTheFly.C:592
 runFlowAnalysisOnTheFly.C:593
 runFlowAnalysisOnTheFly.C:594
 runFlowAnalysisOnTheFly.C:595
 runFlowAnalysisOnTheFly.C:596
 runFlowAnalysisOnTheFly.C:597
 runFlowAnalysisOnTheFly.C:598
 runFlowAnalysisOnTheFly.C:599
 runFlowAnalysisOnTheFly.C:600
 runFlowAnalysisOnTheFly.C:601
 runFlowAnalysisOnTheFly.C:602
 runFlowAnalysisOnTheFly.C:603
 runFlowAnalysisOnTheFly.C:604
 runFlowAnalysisOnTheFly.C:605
 runFlowAnalysisOnTheFly.C:606
 runFlowAnalysisOnTheFly.C:607
 runFlowAnalysisOnTheFly.C:608
 runFlowAnalysisOnTheFly.C:609
 runFlowAnalysisOnTheFly.C:610
 runFlowAnalysisOnTheFly.C:611
 runFlowAnalysisOnTheFly.C:612
 runFlowAnalysisOnTheFly.C:613
 runFlowAnalysisOnTheFly.C:614
 runFlowAnalysisOnTheFly.C:615
 runFlowAnalysisOnTheFly.C:616
 runFlowAnalysisOnTheFly.C:617
 runFlowAnalysisOnTheFly.C:618
 runFlowAnalysisOnTheFly.C:619
 runFlowAnalysisOnTheFly.C:620
 runFlowAnalysisOnTheFly.C:621
 runFlowAnalysisOnTheFly.C:622
 runFlowAnalysisOnTheFly.C:623
 runFlowAnalysisOnTheFly.C:624
 runFlowAnalysisOnTheFly.C:625
 runFlowAnalysisOnTheFly.C:626
 runFlowAnalysisOnTheFly.C:627
 runFlowAnalysisOnTheFly.C:628
 runFlowAnalysisOnTheFly.C:629
 runFlowAnalysisOnTheFly.C:630
 runFlowAnalysisOnTheFly.C:631
 runFlowAnalysisOnTheFly.C:632
 runFlowAnalysisOnTheFly.C:633
 runFlowAnalysisOnTheFly.C:634
 runFlowAnalysisOnTheFly.C:635
 runFlowAnalysisOnTheFly.C:636
 runFlowAnalysisOnTheFly.C:637
 runFlowAnalysisOnTheFly.C:638
 runFlowAnalysisOnTheFly.C:639
 runFlowAnalysisOnTheFly.C:640
 runFlowAnalysisOnTheFly.C:641
 runFlowAnalysisOnTheFly.C:642
 runFlowAnalysisOnTheFly.C:643
 runFlowAnalysisOnTheFly.C:644
 runFlowAnalysisOnTheFly.C:645
 runFlowAnalysisOnTheFly.C:646
 runFlowAnalysisOnTheFly.C:647
 runFlowAnalysisOnTheFly.C:648
 runFlowAnalysisOnTheFly.C:649
 runFlowAnalysisOnTheFly.C:650
 runFlowAnalysisOnTheFly.C:651
 runFlowAnalysisOnTheFly.C:652
 runFlowAnalysisOnTheFly.C:653
 runFlowAnalysisOnTheFly.C:654
 runFlowAnalysisOnTheFly.C:655
 runFlowAnalysisOnTheFly.C:656
 runFlowAnalysisOnTheFly.C:657
 runFlowAnalysisOnTheFly.C:658
 runFlowAnalysisOnTheFly.C:659
 runFlowAnalysisOnTheFly.C:660
 runFlowAnalysisOnTheFly.C:661
 runFlowAnalysisOnTheFly.C:662
 runFlowAnalysisOnTheFly.C:663
 runFlowAnalysisOnTheFly.C:664
 runFlowAnalysisOnTheFly.C:665
 runFlowAnalysisOnTheFly.C:666
 runFlowAnalysisOnTheFly.C:667
 runFlowAnalysisOnTheFly.C:668
 runFlowAnalysisOnTheFly.C:669
 runFlowAnalysisOnTheFly.C:670
 runFlowAnalysisOnTheFly.C:671
 runFlowAnalysisOnTheFly.C:672
 runFlowAnalysisOnTheFly.C:673
 runFlowAnalysisOnTheFly.C:674
 runFlowAnalysisOnTheFly.C:675
 runFlowAnalysisOnTheFly.C:676
 runFlowAnalysisOnTheFly.C:677
 runFlowAnalysisOnTheFly.C:678
 runFlowAnalysisOnTheFly.C:679
 runFlowAnalysisOnTheFly.C:680
 runFlowAnalysisOnTheFly.C:681
 runFlowAnalysisOnTheFly.C:682
 runFlowAnalysisOnTheFly.C:683
 runFlowAnalysisOnTheFly.C:684
 runFlowAnalysisOnTheFly.C:685
 runFlowAnalysisOnTheFly.C:686
 runFlowAnalysisOnTheFly.C:687
 runFlowAnalysisOnTheFly.C:688
 runFlowAnalysisOnTheFly.C:689
 runFlowAnalysisOnTheFly.C:690
 runFlowAnalysisOnTheFly.C:691
 runFlowAnalysisOnTheFly.C:692
 runFlowAnalysisOnTheFly.C:693
 runFlowAnalysisOnTheFly.C:694
 runFlowAnalysisOnTheFly.C:695
 runFlowAnalysisOnTheFly.C:696
 runFlowAnalysisOnTheFly.C:697
 runFlowAnalysisOnTheFly.C:698
 runFlowAnalysisOnTheFly.C:699
 runFlowAnalysisOnTheFly.C:700
 runFlowAnalysisOnTheFly.C:701
 runFlowAnalysisOnTheFly.C:702
 runFlowAnalysisOnTheFly.C:703
 runFlowAnalysisOnTheFly.C:704
 runFlowAnalysisOnTheFly.C:705
 runFlowAnalysisOnTheFly.C:706
 runFlowAnalysisOnTheFly.C:707
 runFlowAnalysisOnTheFly.C:708
 runFlowAnalysisOnTheFly.C:709
 runFlowAnalysisOnTheFly.C:710
 runFlowAnalysisOnTheFly.C:711
 runFlowAnalysisOnTheFly.C:712
 runFlowAnalysisOnTheFly.C:713
 runFlowAnalysisOnTheFly.C:714
 runFlowAnalysisOnTheFly.C:715
 runFlowAnalysisOnTheFly.C:716
 runFlowAnalysisOnTheFly.C:717
 runFlowAnalysisOnTheFly.C:718
 runFlowAnalysisOnTheFly.C:719
 runFlowAnalysisOnTheFly.C:720
 runFlowAnalysisOnTheFly.C:721
 runFlowAnalysisOnTheFly.C:722
 runFlowAnalysisOnTheFly.C:723
 runFlowAnalysisOnTheFly.C:724
 runFlowAnalysisOnTheFly.C:725
 runFlowAnalysisOnTheFly.C:726
 runFlowAnalysisOnTheFly.C:727
 runFlowAnalysisOnTheFly.C:728
 runFlowAnalysisOnTheFly.C:729
 runFlowAnalysisOnTheFly.C:730
 runFlowAnalysisOnTheFly.C:731
 runFlowAnalysisOnTheFly.C:732
 runFlowAnalysisOnTheFly.C:733
 runFlowAnalysisOnTheFly.C:734
 runFlowAnalysisOnTheFly.C:735
 runFlowAnalysisOnTheFly.C:736
 runFlowAnalysisOnTheFly.C:737
 runFlowAnalysisOnTheFly.C:738
 runFlowAnalysisOnTheFly.C:739
 runFlowAnalysisOnTheFly.C:740
 runFlowAnalysisOnTheFly.C:741
 runFlowAnalysisOnTheFly.C:742
 runFlowAnalysisOnTheFly.C:743
 runFlowAnalysisOnTheFly.C:744
 runFlowAnalysisOnTheFly.C:745
 runFlowAnalysisOnTheFly.C:746
 runFlowAnalysisOnTheFly.C:747
 runFlowAnalysisOnTheFly.C:748
 runFlowAnalysisOnTheFly.C:749
 runFlowAnalysisOnTheFly.C:750
 runFlowAnalysisOnTheFly.C:751
 runFlowAnalysisOnTheFly.C:752
 runFlowAnalysisOnTheFly.C:753
 runFlowAnalysisOnTheFly.C:754
 runFlowAnalysisOnTheFly.C:755
 runFlowAnalysisOnTheFly.C:756
 runFlowAnalysisOnTheFly.C:757
 runFlowAnalysisOnTheFly.C:758
 runFlowAnalysisOnTheFly.C:759
 runFlowAnalysisOnTheFly.C:760
 runFlowAnalysisOnTheFly.C:761
 runFlowAnalysisOnTheFly.C:762
 runFlowAnalysisOnTheFly.C:763
 runFlowAnalysisOnTheFly.C:764
 runFlowAnalysisOnTheFly.C:765
 runFlowAnalysisOnTheFly.C:766
 runFlowAnalysisOnTheFly.C:767
 runFlowAnalysisOnTheFly.C:768
 runFlowAnalysisOnTheFly.C:769
 runFlowAnalysisOnTheFly.C:770
 runFlowAnalysisOnTheFly.C:771
 runFlowAnalysisOnTheFly.C:772
 runFlowAnalysisOnTheFly.C:773
 runFlowAnalysisOnTheFly.C:774
 runFlowAnalysisOnTheFly.C:775
 runFlowAnalysisOnTheFly.C:776
 runFlowAnalysisOnTheFly.C:777
 runFlowAnalysisOnTheFly.C:778
 runFlowAnalysisOnTheFly.C:779
 runFlowAnalysisOnTheFly.C:780
 runFlowAnalysisOnTheFly.C:781
 runFlowAnalysisOnTheFly.C:782
 runFlowAnalysisOnTheFly.C:783
 runFlowAnalysisOnTheFly.C:784
 runFlowAnalysisOnTheFly.C:785
 runFlowAnalysisOnTheFly.C:786
 runFlowAnalysisOnTheFly.C:787
 runFlowAnalysisOnTheFly.C:788
 runFlowAnalysisOnTheFly.C:789
 runFlowAnalysisOnTheFly.C:790
 runFlowAnalysisOnTheFly.C:791
 runFlowAnalysisOnTheFly.C:792
 runFlowAnalysisOnTheFly.C:793
 runFlowAnalysisOnTheFly.C:794
 runFlowAnalysisOnTheFly.C:795
 runFlowAnalysisOnTheFly.C:796
 runFlowAnalysisOnTheFly.C:797
 runFlowAnalysisOnTheFly.C:798
 runFlowAnalysisOnTheFly.C:799
 runFlowAnalysisOnTheFly.C:800
 runFlowAnalysisOnTheFly.C:801
 runFlowAnalysisOnTheFly.C:802
 runFlowAnalysisOnTheFly.C:803
 runFlowAnalysisOnTheFly.C:804
 runFlowAnalysisOnTheFly.C:805
 runFlowAnalysisOnTheFly.C:806
 runFlowAnalysisOnTheFly.C:807
 runFlowAnalysisOnTheFly.C:808