ROOT logo
// 
// Calculate the corrections in the base regions
// 
// Inputs: 
//   - AliESDEvent 
//
// Outputs: 
//   - AliAODBaseMult 
// 
// Histograms 
//   
// Corrections used 
// 
#include "AliBaseMCCorrectionsTask.h"
#include "AliBaseMCTrackDensity.h"
#include "AliCorrectionManagerBase.h"
#include "AliLog.h"
#include "AliESDEvent.h"
#include "AliMCEvent.h"
#include "AliAODForwardMult.h"
#include <TH1.h>
#include <TH2D.h>
#include <TDirectory.h>
#include <TTree.h>
#include <TList.h>
#include <TROOT.h>
#include <iostream>

//====================================================================
namespace {
  const char* GetEventName(Bool_t tr, Bool_t vtx) 
  {
    return Form("nEvents%s%s", (tr ? "Tr" : ""), (vtx ? "Vtx" : ""));
  }
}

//====================================================================
AliBaseMCCorrectionsTask::AliBaseMCCorrectionsTask()
  : AliBaseESDTask(),
    fInspector(),
    fVtxBins(0),
    fHEvents(0), 
    fHEventsTr(0), 
    fHEventsTrVtx(0),
    fVtxAxis(),
    fEtaAxis(),
    fUseESDVertex(false),
    fAfterEventSel(false)
{
  // 
  // Constructor 
  // 
  // Parameters:
  //    name Name of task 
  //
}

//____________________________________________________________________
AliBaseMCCorrectionsTask::AliBaseMCCorrectionsTask(const char* name,
						   AliCorrectionManagerBase* m)
  : AliBaseESDTask(name, "", m),
    fInspector("eventInspector"), 
    fVtxBins(0),
    fHEvents(0), 
    fHEventsTr(0), 
    fHEventsTrVtx(0),
    fVtxAxis(10,-10,10), 
    fEtaAxis(200,-4,6),
    fUseESDVertex(false),
    fAfterEventSel(false)
{
  // 
  // Constructor 
  // 
  // Parameters:
  //    name Name of task 
  fBranchNames = 
    "ESD:AliESDRun.,AliESDHeader.,AliMultiplicity.,"
    "AliESDFMD.,SPDVertex.,PrimaryVertex.";
}


//____________________________________________________________________
void
AliBaseMCCorrectionsTask::SetVertexAxis(Int_t nBin, Double_t min, 
					   Double_t max)
{
  // 
  // Set the vertex axis to use
  // 
  // Parameters:
  //    nBins Number of bins
  //    vzMin Least @f$z@f$ coordinate of interation point
  //    vzMax Largest @f$z@f$ coordinate of interation point
  //
  if (max < min) { 
    Double_t tmp = min;
    min          = max;
    max          = tmp;
  }
  /*
    if (min < -10) 
    AliWarning(Form("Minimum vertex %f < -10, make sure you want this",min));
    if (max > +10) 
    AliWarning(Form("Minimum vertex %f > +10, make sure you want this",max));
  */
  fVtxAxis.Set(nBin, min, max);
}
//____________________________________________________________________
void
AliBaseMCCorrectionsTask::SetVertexAxis(const TAxis& axis)
{
  // 
  // Set the vertex axis to use
  // 
  // Parameters:
  //    axis Axis
  //
  SetVertexAxis(axis.GetNbins(),axis.GetXmin(),axis.GetXmax());
}

//____________________________________________________________________
void
AliBaseMCCorrectionsTask::SetEtaAxis(Int_t nBin, Double_t min, Double_t max)
{
  // 
  // Set the eta axis to use
  // 
  // Parameters:
  //    nBins Number of bins
  //    vzMin Least @f$\eta@f$ 
  //    vzMax Largest @f$\eta@f$ 
  //
  if (max < min) { 
    Double_t tmp = min;
    min          = max;
    max          = tmp;
  }
  if (min < -4) 
    AliWarning(Form("Minimum eta %f < -4, make sure you want this",min));
  if (max > +6) 
    AliWarning(Form("Minimum eta %f > +6, make sure you want this",max));
  fEtaAxis.Set(nBin, min, max);
}
//____________________________________________________________________
void
AliBaseMCCorrectionsTask::SetEtaAxis(const TAxis& axis)
{
  // 
  // Set the eta axis to use
  // 
  // Parameters:
  //    axis Axis
  //
  SetEtaAxis(axis.GetNbins(),axis.GetXmin(),axis.GetXmax());
}

//____________________________________________________________________
void
AliBaseMCCorrectionsTask::DefineBins(TList* l)
{
  if (!fVtxBins) fVtxBins = new TObjArray(fVtxAxis.GetNbins(), 1);
  if (fVtxBins->GetEntries() > 0) return;

  fVtxBins->SetOwner();
  for (Int_t  i    = 1; i <= fVtxAxis.GetNbins(); i++) { 
    Double_t  low  = fVtxAxis.GetBinLowEdge(i);
    Double_t  high = fVtxAxis.GetBinUpEdge(i);
    VtxBin*   bin  = CreateVtxBin(low, high);
    fVtxBins->AddAt(bin, i);
    bin->CreateOutputObjects(l);
  }
}

//____________________________________________________________________
Bool_t
AliBaseMCCorrectionsTask::Book()
{
  // 
  // Create output objects 
  // 
  //
  DefineBins(fList);
  fNeededCorrections = 0;
  fExtraCorrections  = 0;

  fHEvents = new TH1I(GetEventName(false,false),
		      "Number of all events", 
		      fVtxAxis.GetNbins(), 
		      fVtxAxis.GetXmin(), 
		      fVtxAxis.GetXmax());
  fHEvents->SetXTitle("v_{z} [cm]");
  fHEvents->SetYTitle("# of events");
  fHEvents->SetFillColor(kBlue+1);
  fHEvents->SetFillStyle(3001);
  fHEvents->SetDirectory(0);
  fList->Add(fHEvents);

  fHEventsTr = new TH1I(GetEventName(true, false), 
			"Number of triggered events",
			fVtxAxis.GetNbins(), 
			fVtxAxis.GetXmin(), 
			fVtxAxis.GetXmax());
  fHEventsTr->SetXTitle("v_{z} [cm]");
  fHEventsTr->SetYTitle("# of events");
  fHEventsTr->SetFillColor(kRed+1);
  fHEventsTr->SetFillStyle(3001);
  fHEventsTr->SetDirectory(0);
  fList->Add(fHEventsTr);

  fHEventsTrVtx = new TH1I(GetEventName(true,true),
			   "Number of events w/trigger and vertex", 
			   fVtxAxis.GetNbins(), 
			   fVtxAxis.GetXmin(), 
			   fVtxAxis.GetXmax());
  fHEventsTrVtx->SetXTitle("v_{z} [cm]");
  fHEventsTrVtx->SetYTitle("# of events");
  fHEventsTrVtx->SetFillColor(kBlue+1);
  fHEventsTrVtx->SetFillStyle(3001);
  fHEventsTrVtx->SetDirectory(0);
  fList->Add(fHEventsTrVtx);

  // Copy axis objects to output 
  TH1* vtxAxis = new TH1D("vtxAxis", "Vertex axis", 
			  fVtxAxis.GetNbins(), 
			  fVtxAxis.GetXmin(), 
			  fVtxAxis.GetXmax());
  TH1* etaAxis = new TH1D("etaAxis", "Eta axis", 
			  fEtaAxis.GetNbins(), 
			  fEtaAxis.GetXmin(), 
			  fEtaAxis.GetXmax());
  fList->Add(vtxAxis);
  fList->Add(etaAxis);

  AliInfo(Form("Initialising sub-routines: %p, %p", 
	       &fInspector, &GetTrackDensity()));
  GetTrackDensity().CreateOutputObjects(fList);
  
  return true;
}

//____________________________________________________________________
Bool_t
AliBaseMCCorrectionsTask::Event(AliESDEvent& esd)
{
  // 
  // Process each event 
  // 
  // Parameters:
  //    option Not used
  //  

  // Get the input data - MC event
  AliMCEvent*  mcEvent = MCEvent();
  if (!mcEvent) { 
    AliWarning("No MC event found");
    return false;
  }

  // Some variables 
  UInt_t   triggers  = 0;    // Trigger bits
  Bool_t   lowFlux   = true; // Low flux flag
  UShort_t iVz       = 0;    // Vertex bin from ESD
  TVector3 ip(1024,1024,1000);
  Double_t cent      = -1;   // Centrality 
  UShort_t iVzMc     = 0;    // Vertex bin from MC
  Double_t vZMc      = 1000; // Z coordinate of IP vertex from MC
  Double_t b         = -1;   // Impact parameter
  Double_t cMC       = -1;   // Centrality estimate from b
  Int_t    nPart     = -1;   // Number of participants 
  Int_t    nBin      = -1;   // Number of binary collisions 
  Double_t phiR      = 100;  // Reaction plane from MC
  UShort_t nClusters = 0;    // Number of SPD clusters 
  // Process the data 
  UInt_t retESD = fInspector.Process(&esd, triggers, lowFlux, iVz, ip, 
				     cent, nClusters);

  Bool_t isAccepted = true;
  if(fAfterEventSel) {
    if (retESD & AliFMDEventInspector::kNoEvent)    isAccepted = false; 
    if (retESD & AliFMDEventInspector::kNoTriggers) isAccepted = false; 
    if (retESD & AliFMDEventInspector::kNoVertex)   isAccepted = false;
    if (retESD & AliFMDEventInspector::kNoFMD)      isAccepted = false;  
    if (!isAccepted) return false;  
    // returns if there is not event , does not pass phys selection ,
    // has no veretx and lack of FMD data.
    // with good veretx outside z range it will continue
  }		


  fInspector.ProcessMC(mcEvent, triggers, iVzMc, vZMc, 
		       b, cMC, nPart, nBin, phiR);
  
  fInspector.CompareResults(ip.Z(),    vZMc, 
			    cent,      cMC, 
			    b, nPart,  nBin);

  Bool_t isInel   = triggers & AliAODForwardMult::kInel;
  Bool_t hasVtx   = retESD == AliFMDMCEventInspector::kOk;

  // Fill the event count histograms 
  if (isInel)           fHEventsTr->Fill(vZMc);
  if (isInel && hasVtx) fHEventsTrVtx->Fill(vZMc);
  fHEvents->Fill(vZMc);

  // Now find our vertex bin object 
  VtxBin*  bin      = 0;
  UShort_t usedZbin = iVzMc; 
  if (fUseESDVertex) usedZbin = iVz;


  if (usedZbin > 0 && usedZbin <= fVtxAxis.GetNbins()) 
    bin = static_cast<VtxBin*>(fVtxBins->At(usedZbin));
  if (!bin) { 
    // AliError(Form("No vertex bin object @ %d (%f)", iVzMc, vZMc));
    return false;
  }

  return ProcessESD(esd, *mcEvent, *bin, vZMc);
}

//____________________________________________________________________
Bool_t
AliBaseMCCorrectionsTask::Finalize()
{
  // 
  // End of job
  // 
  // Parameters:
  //    option Not used 
  //
  DefineBins(fList);
  CreateCorrections(fResults);

  TIter     next(fVtxBins);
  VtxBin*   bin = 0;
  UShort_t  iVz = 1;
  while ((bin = static_cast<VtxBin*>(next()))) 
    FinalizeVtxBin(bin, iVz++);

  return true;
}

//____________________________________________________________________
void
AliBaseMCCorrectionsTask::Print(Option_t* option) const
{
  AliBaseESDTask::Print(option);
  std::cout << "  Vertex bins:      " << fVtxAxis.GetNbins() << '\n'
	    << "  Vertex range:     [" << fVtxAxis.GetXmin() 
	    << "," << fVtxAxis.GetXmax() << "]\n"
	    << "  Eta bins:         " << fEtaAxis.GetNbins() << '\n'
	    << "  Eta range:        [" << fEtaAxis.GetXmin() 
	    << "," << fEtaAxis.GetXmax() << "]"
	    << std::endl;
}

//====================================================================
const char*
AliBaseMCCorrectionsTask::VtxBin::BinName(Double_t low, 
					     Double_t high) 
{
  static TString buf;
  buf = Form("vtx%+05.1f_%+05.1f", low, high);
  buf.ReplaceAll("+", "p");
  buf.ReplaceAll("-", "m");
  buf.ReplaceAll(".", "d");
  return buf.Data();
}


//____________________________________________________________________
AliBaseMCCorrectionsTask::VtxBin::VtxBin()
  : TNamed(),
    fPrimary(0),
    fCounts(0)
{
}
//____________________________________________________________________
AliBaseMCCorrectionsTask::VtxBin::VtxBin(Double_t     low, 
					 Double_t     high, 
					 const TAxis& axis,
					 UShort_t     nPhi)
  : TNamed(BinName(low, high), 
	   Form("%+5.1fcm<v_{z}<%+5.1fcm", low, high)),
    fPrimary(0),
    fCounts(0)
{
  fPrimary = new TH2D("primary", "Primaries", 
		      axis.GetNbins(), axis.GetXmin(), axis.GetXmax(), 
		      nPhi, 0, 2*TMath::Pi());
  fPrimary->SetXTitle("#eta");
  fPrimary->SetYTitle("#varphi [radians]");
  fPrimary->Sumw2();
  fPrimary->SetDirectory(0);

  fCounts = new TH1D("counts", "Counts", 1, 0, 1);
  fCounts->SetXTitle("Events");
  fCounts->SetYTitle("# of Events");
  fCounts->SetDirectory(0);
}


//____________________________________________________________________
TList*
AliBaseMCCorrectionsTask::VtxBin::CreateOutputObjects(TList* l)
{
  TList* d = new TList;
  d->SetName(GetName());
  d->SetOwner();
  l->Add(d);

  d->Add(fPrimary);
  d->Add(fCounts);

  return d;
}


//
// EOF
//
 AliBaseMCCorrectionsTask.cxx:1
 AliBaseMCCorrectionsTask.cxx:2
 AliBaseMCCorrectionsTask.cxx:3
 AliBaseMCCorrectionsTask.cxx:4
 AliBaseMCCorrectionsTask.cxx:5
 AliBaseMCCorrectionsTask.cxx:6
 AliBaseMCCorrectionsTask.cxx:7
 AliBaseMCCorrectionsTask.cxx:8
 AliBaseMCCorrectionsTask.cxx:9
 AliBaseMCCorrectionsTask.cxx:10
 AliBaseMCCorrectionsTask.cxx:11
 AliBaseMCCorrectionsTask.cxx:12
 AliBaseMCCorrectionsTask.cxx:13
 AliBaseMCCorrectionsTask.cxx:14
 AliBaseMCCorrectionsTask.cxx:15
 AliBaseMCCorrectionsTask.cxx:16
 AliBaseMCCorrectionsTask.cxx:17
 AliBaseMCCorrectionsTask.cxx:18
 AliBaseMCCorrectionsTask.cxx:19
 AliBaseMCCorrectionsTask.cxx:20
 AliBaseMCCorrectionsTask.cxx:21
 AliBaseMCCorrectionsTask.cxx:22
 AliBaseMCCorrectionsTask.cxx:23
 AliBaseMCCorrectionsTask.cxx:24
 AliBaseMCCorrectionsTask.cxx:25
 AliBaseMCCorrectionsTask.cxx:26
 AliBaseMCCorrectionsTask.cxx:27
 AliBaseMCCorrectionsTask.cxx:28
 AliBaseMCCorrectionsTask.cxx:29
 AliBaseMCCorrectionsTask.cxx:30
 AliBaseMCCorrectionsTask.cxx:31
 AliBaseMCCorrectionsTask.cxx:32
 AliBaseMCCorrectionsTask.cxx:33
 AliBaseMCCorrectionsTask.cxx:34
 AliBaseMCCorrectionsTask.cxx:35
 AliBaseMCCorrectionsTask.cxx:36
 AliBaseMCCorrectionsTask.cxx:37
 AliBaseMCCorrectionsTask.cxx:38
 AliBaseMCCorrectionsTask.cxx:39
 AliBaseMCCorrectionsTask.cxx:40
 AliBaseMCCorrectionsTask.cxx:41
 AliBaseMCCorrectionsTask.cxx:42
 AliBaseMCCorrectionsTask.cxx:43
 AliBaseMCCorrectionsTask.cxx:44
 AliBaseMCCorrectionsTask.cxx:45
 AliBaseMCCorrectionsTask.cxx:46
 AliBaseMCCorrectionsTask.cxx:47
 AliBaseMCCorrectionsTask.cxx:48
 AliBaseMCCorrectionsTask.cxx:49
 AliBaseMCCorrectionsTask.cxx:50
 AliBaseMCCorrectionsTask.cxx:51
 AliBaseMCCorrectionsTask.cxx:52
 AliBaseMCCorrectionsTask.cxx:53
 AliBaseMCCorrectionsTask.cxx:54
 AliBaseMCCorrectionsTask.cxx:55
 AliBaseMCCorrectionsTask.cxx:56
 AliBaseMCCorrectionsTask.cxx:57
 AliBaseMCCorrectionsTask.cxx:58
 AliBaseMCCorrectionsTask.cxx:59
 AliBaseMCCorrectionsTask.cxx:60
 AliBaseMCCorrectionsTask.cxx:61
 AliBaseMCCorrectionsTask.cxx:62
 AliBaseMCCorrectionsTask.cxx:63
 AliBaseMCCorrectionsTask.cxx:64
 AliBaseMCCorrectionsTask.cxx:65
 AliBaseMCCorrectionsTask.cxx:66
 AliBaseMCCorrectionsTask.cxx:67
 AliBaseMCCorrectionsTask.cxx:68
 AliBaseMCCorrectionsTask.cxx:69
 AliBaseMCCorrectionsTask.cxx:70
 AliBaseMCCorrectionsTask.cxx:71
 AliBaseMCCorrectionsTask.cxx:72
 AliBaseMCCorrectionsTask.cxx:73
 AliBaseMCCorrectionsTask.cxx:74
 AliBaseMCCorrectionsTask.cxx:75
 AliBaseMCCorrectionsTask.cxx:76
 AliBaseMCCorrectionsTask.cxx:77
 AliBaseMCCorrectionsTask.cxx:78
 AliBaseMCCorrectionsTask.cxx:79
 AliBaseMCCorrectionsTask.cxx:80
 AliBaseMCCorrectionsTask.cxx:81
 AliBaseMCCorrectionsTask.cxx:82
 AliBaseMCCorrectionsTask.cxx:83
 AliBaseMCCorrectionsTask.cxx:84
 AliBaseMCCorrectionsTask.cxx:85
 AliBaseMCCorrectionsTask.cxx:86
 AliBaseMCCorrectionsTask.cxx:87
 AliBaseMCCorrectionsTask.cxx:88
 AliBaseMCCorrectionsTask.cxx:89
 AliBaseMCCorrectionsTask.cxx:90
 AliBaseMCCorrectionsTask.cxx:91
 AliBaseMCCorrectionsTask.cxx:92
 AliBaseMCCorrectionsTask.cxx:93
 AliBaseMCCorrectionsTask.cxx:94
 AliBaseMCCorrectionsTask.cxx:95
 AliBaseMCCorrectionsTask.cxx:96
 AliBaseMCCorrectionsTask.cxx:97
 AliBaseMCCorrectionsTask.cxx:98
 AliBaseMCCorrectionsTask.cxx:99
 AliBaseMCCorrectionsTask.cxx:100
 AliBaseMCCorrectionsTask.cxx:101
 AliBaseMCCorrectionsTask.cxx:102
 AliBaseMCCorrectionsTask.cxx:103
 AliBaseMCCorrectionsTask.cxx:104
 AliBaseMCCorrectionsTask.cxx:105
 AliBaseMCCorrectionsTask.cxx:106
 AliBaseMCCorrectionsTask.cxx:107
 AliBaseMCCorrectionsTask.cxx:108
 AliBaseMCCorrectionsTask.cxx:109
 AliBaseMCCorrectionsTask.cxx:110
 AliBaseMCCorrectionsTask.cxx:111
 AliBaseMCCorrectionsTask.cxx:112
 AliBaseMCCorrectionsTask.cxx:113
 AliBaseMCCorrectionsTask.cxx:114
 AliBaseMCCorrectionsTask.cxx:115
 AliBaseMCCorrectionsTask.cxx:116
 AliBaseMCCorrectionsTask.cxx:117
 AliBaseMCCorrectionsTask.cxx:118
 AliBaseMCCorrectionsTask.cxx:119
 AliBaseMCCorrectionsTask.cxx:120
 AliBaseMCCorrectionsTask.cxx:121
 AliBaseMCCorrectionsTask.cxx:122
 AliBaseMCCorrectionsTask.cxx:123
 AliBaseMCCorrectionsTask.cxx:124
 AliBaseMCCorrectionsTask.cxx:125
 AliBaseMCCorrectionsTask.cxx:126
 AliBaseMCCorrectionsTask.cxx:127
 AliBaseMCCorrectionsTask.cxx:128
 AliBaseMCCorrectionsTask.cxx:129
 AliBaseMCCorrectionsTask.cxx:130
 AliBaseMCCorrectionsTask.cxx:131
 AliBaseMCCorrectionsTask.cxx:132
 AliBaseMCCorrectionsTask.cxx:133
 AliBaseMCCorrectionsTask.cxx:134
 AliBaseMCCorrectionsTask.cxx:135
 AliBaseMCCorrectionsTask.cxx:136
 AliBaseMCCorrectionsTask.cxx:137
 AliBaseMCCorrectionsTask.cxx:138
 AliBaseMCCorrectionsTask.cxx:139
 AliBaseMCCorrectionsTask.cxx:140
 AliBaseMCCorrectionsTask.cxx:141
 AliBaseMCCorrectionsTask.cxx:142
 AliBaseMCCorrectionsTask.cxx:143
 AliBaseMCCorrectionsTask.cxx:144
 AliBaseMCCorrectionsTask.cxx:145
 AliBaseMCCorrectionsTask.cxx:146
 AliBaseMCCorrectionsTask.cxx:147
 AliBaseMCCorrectionsTask.cxx:148
 AliBaseMCCorrectionsTask.cxx:149
 AliBaseMCCorrectionsTask.cxx:150
 AliBaseMCCorrectionsTask.cxx:151
 AliBaseMCCorrectionsTask.cxx:152
 AliBaseMCCorrectionsTask.cxx:153
 AliBaseMCCorrectionsTask.cxx:154
 AliBaseMCCorrectionsTask.cxx:155
 AliBaseMCCorrectionsTask.cxx:156
 AliBaseMCCorrectionsTask.cxx:157
 AliBaseMCCorrectionsTask.cxx:158
 AliBaseMCCorrectionsTask.cxx:159
 AliBaseMCCorrectionsTask.cxx:160
 AliBaseMCCorrectionsTask.cxx:161
 AliBaseMCCorrectionsTask.cxx:162
 AliBaseMCCorrectionsTask.cxx:163
 AliBaseMCCorrectionsTask.cxx:164
 AliBaseMCCorrectionsTask.cxx:165
 AliBaseMCCorrectionsTask.cxx:166
 AliBaseMCCorrectionsTask.cxx:167
 AliBaseMCCorrectionsTask.cxx:168
 AliBaseMCCorrectionsTask.cxx:169
 AliBaseMCCorrectionsTask.cxx:170
 AliBaseMCCorrectionsTask.cxx:171
 AliBaseMCCorrectionsTask.cxx:172
 AliBaseMCCorrectionsTask.cxx:173
 AliBaseMCCorrectionsTask.cxx:174
 AliBaseMCCorrectionsTask.cxx:175
 AliBaseMCCorrectionsTask.cxx:176
 AliBaseMCCorrectionsTask.cxx:177
 AliBaseMCCorrectionsTask.cxx:178
 AliBaseMCCorrectionsTask.cxx:179
 AliBaseMCCorrectionsTask.cxx:180
 AliBaseMCCorrectionsTask.cxx:181
 AliBaseMCCorrectionsTask.cxx:182
 AliBaseMCCorrectionsTask.cxx:183
 AliBaseMCCorrectionsTask.cxx:184
 AliBaseMCCorrectionsTask.cxx:185
 AliBaseMCCorrectionsTask.cxx:186
 AliBaseMCCorrectionsTask.cxx:187
 AliBaseMCCorrectionsTask.cxx:188
 AliBaseMCCorrectionsTask.cxx:189
 AliBaseMCCorrectionsTask.cxx:190
 AliBaseMCCorrectionsTask.cxx:191
 AliBaseMCCorrectionsTask.cxx:192
 AliBaseMCCorrectionsTask.cxx:193
 AliBaseMCCorrectionsTask.cxx:194
 AliBaseMCCorrectionsTask.cxx:195
 AliBaseMCCorrectionsTask.cxx:196
 AliBaseMCCorrectionsTask.cxx:197
 AliBaseMCCorrectionsTask.cxx:198
 AliBaseMCCorrectionsTask.cxx:199
 AliBaseMCCorrectionsTask.cxx:200
 AliBaseMCCorrectionsTask.cxx:201
 AliBaseMCCorrectionsTask.cxx:202
 AliBaseMCCorrectionsTask.cxx:203
 AliBaseMCCorrectionsTask.cxx:204
 AliBaseMCCorrectionsTask.cxx:205
 AliBaseMCCorrectionsTask.cxx:206
 AliBaseMCCorrectionsTask.cxx:207
 AliBaseMCCorrectionsTask.cxx:208
 AliBaseMCCorrectionsTask.cxx:209
 AliBaseMCCorrectionsTask.cxx:210
 AliBaseMCCorrectionsTask.cxx:211
 AliBaseMCCorrectionsTask.cxx:212
 AliBaseMCCorrectionsTask.cxx:213
 AliBaseMCCorrectionsTask.cxx:214
 AliBaseMCCorrectionsTask.cxx:215
 AliBaseMCCorrectionsTask.cxx:216
 AliBaseMCCorrectionsTask.cxx:217
 AliBaseMCCorrectionsTask.cxx:218
 AliBaseMCCorrectionsTask.cxx:219
 AliBaseMCCorrectionsTask.cxx:220
 AliBaseMCCorrectionsTask.cxx:221
 AliBaseMCCorrectionsTask.cxx:222
 AliBaseMCCorrectionsTask.cxx:223
 AliBaseMCCorrectionsTask.cxx:224
 AliBaseMCCorrectionsTask.cxx:225
 AliBaseMCCorrectionsTask.cxx:226
 AliBaseMCCorrectionsTask.cxx:227
 AliBaseMCCorrectionsTask.cxx:228
 AliBaseMCCorrectionsTask.cxx:229
 AliBaseMCCorrectionsTask.cxx:230
 AliBaseMCCorrectionsTask.cxx:231
 AliBaseMCCorrectionsTask.cxx:232
 AliBaseMCCorrectionsTask.cxx:233
 AliBaseMCCorrectionsTask.cxx:234
 AliBaseMCCorrectionsTask.cxx:235
 AliBaseMCCorrectionsTask.cxx:236
 AliBaseMCCorrectionsTask.cxx:237
 AliBaseMCCorrectionsTask.cxx:238
 AliBaseMCCorrectionsTask.cxx:239
 AliBaseMCCorrectionsTask.cxx:240
 AliBaseMCCorrectionsTask.cxx:241
 AliBaseMCCorrectionsTask.cxx:242
 AliBaseMCCorrectionsTask.cxx:243
 AliBaseMCCorrectionsTask.cxx:244
 AliBaseMCCorrectionsTask.cxx:245
 AliBaseMCCorrectionsTask.cxx:246
 AliBaseMCCorrectionsTask.cxx:247
 AliBaseMCCorrectionsTask.cxx:248
 AliBaseMCCorrectionsTask.cxx:249
 AliBaseMCCorrectionsTask.cxx:250
 AliBaseMCCorrectionsTask.cxx:251
 AliBaseMCCorrectionsTask.cxx:252
 AliBaseMCCorrectionsTask.cxx:253
 AliBaseMCCorrectionsTask.cxx:254
 AliBaseMCCorrectionsTask.cxx:255
 AliBaseMCCorrectionsTask.cxx:256
 AliBaseMCCorrectionsTask.cxx:257
 AliBaseMCCorrectionsTask.cxx:258
 AliBaseMCCorrectionsTask.cxx:259
 AliBaseMCCorrectionsTask.cxx:260
 AliBaseMCCorrectionsTask.cxx:261
 AliBaseMCCorrectionsTask.cxx:262
 AliBaseMCCorrectionsTask.cxx:263
 AliBaseMCCorrectionsTask.cxx:264
 AliBaseMCCorrectionsTask.cxx:265
 AliBaseMCCorrectionsTask.cxx:266
 AliBaseMCCorrectionsTask.cxx:267
 AliBaseMCCorrectionsTask.cxx:268
 AliBaseMCCorrectionsTask.cxx:269
 AliBaseMCCorrectionsTask.cxx:270
 AliBaseMCCorrectionsTask.cxx:271
 AliBaseMCCorrectionsTask.cxx:272
 AliBaseMCCorrectionsTask.cxx:273
 AliBaseMCCorrectionsTask.cxx:274
 AliBaseMCCorrectionsTask.cxx:275
 AliBaseMCCorrectionsTask.cxx:276
 AliBaseMCCorrectionsTask.cxx:277
 AliBaseMCCorrectionsTask.cxx:278
 AliBaseMCCorrectionsTask.cxx:279
 AliBaseMCCorrectionsTask.cxx:280
 AliBaseMCCorrectionsTask.cxx:281
 AliBaseMCCorrectionsTask.cxx:282
 AliBaseMCCorrectionsTask.cxx:283
 AliBaseMCCorrectionsTask.cxx:284
 AliBaseMCCorrectionsTask.cxx:285
 AliBaseMCCorrectionsTask.cxx:286
 AliBaseMCCorrectionsTask.cxx:287
 AliBaseMCCorrectionsTask.cxx:288
 AliBaseMCCorrectionsTask.cxx:289
 AliBaseMCCorrectionsTask.cxx:290
 AliBaseMCCorrectionsTask.cxx:291
 AliBaseMCCorrectionsTask.cxx:292
 AliBaseMCCorrectionsTask.cxx:293
 AliBaseMCCorrectionsTask.cxx:294
 AliBaseMCCorrectionsTask.cxx:295
 AliBaseMCCorrectionsTask.cxx:296
 AliBaseMCCorrectionsTask.cxx:297
 AliBaseMCCorrectionsTask.cxx:298
 AliBaseMCCorrectionsTask.cxx:299
 AliBaseMCCorrectionsTask.cxx:300
 AliBaseMCCorrectionsTask.cxx:301
 AliBaseMCCorrectionsTask.cxx:302
 AliBaseMCCorrectionsTask.cxx:303
 AliBaseMCCorrectionsTask.cxx:304
 AliBaseMCCorrectionsTask.cxx:305
 AliBaseMCCorrectionsTask.cxx:306
 AliBaseMCCorrectionsTask.cxx:307
 AliBaseMCCorrectionsTask.cxx:308
 AliBaseMCCorrectionsTask.cxx:309
 AliBaseMCCorrectionsTask.cxx:310
 AliBaseMCCorrectionsTask.cxx:311
 AliBaseMCCorrectionsTask.cxx:312
 AliBaseMCCorrectionsTask.cxx:313
 AliBaseMCCorrectionsTask.cxx:314
 AliBaseMCCorrectionsTask.cxx:315
 AliBaseMCCorrectionsTask.cxx:316
 AliBaseMCCorrectionsTask.cxx:317
 AliBaseMCCorrectionsTask.cxx:318
 AliBaseMCCorrectionsTask.cxx:319
 AliBaseMCCorrectionsTask.cxx:320
 AliBaseMCCorrectionsTask.cxx:321
 AliBaseMCCorrectionsTask.cxx:322
 AliBaseMCCorrectionsTask.cxx:323
 AliBaseMCCorrectionsTask.cxx:324
 AliBaseMCCorrectionsTask.cxx:325
 AliBaseMCCorrectionsTask.cxx:326
 AliBaseMCCorrectionsTask.cxx:327
 AliBaseMCCorrectionsTask.cxx:328
 AliBaseMCCorrectionsTask.cxx:329
 AliBaseMCCorrectionsTask.cxx:330
 AliBaseMCCorrectionsTask.cxx:331
 AliBaseMCCorrectionsTask.cxx:332
 AliBaseMCCorrectionsTask.cxx:333
 AliBaseMCCorrectionsTask.cxx:334
 AliBaseMCCorrectionsTask.cxx:335
 AliBaseMCCorrectionsTask.cxx:336
 AliBaseMCCorrectionsTask.cxx:337
 AliBaseMCCorrectionsTask.cxx:338
 AliBaseMCCorrectionsTask.cxx:339
 AliBaseMCCorrectionsTask.cxx:340
 AliBaseMCCorrectionsTask.cxx:341
 AliBaseMCCorrectionsTask.cxx:342
 AliBaseMCCorrectionsTask.cxx:343
 AliBaseMCCorrectionsTask.cxx:344
 AliBaseMCCorrectionsTask.cxx:345
 AliBaseMCCorrectionsTask.cxx:346
 AliBaseMCCorrectionsTask.cxx:347
 AliBaseMCCorrectionsTask.cxx:348
 AliBaseMCCorrectionsTask.cxx:349
 AliBaseMCCorrectionsTask.cxx:350
 AliBaseMCCorrectionsTask.cxx:351
 AliBaseMCCorrectionsTask.cxx:352
 AliBaseMCCorrectionsTask.cxx:353
 AliBaseMCCorrectionsTask.cxx:354
 AliBaseMCCorrectionsTask.cxx:355
 AliBaseMCCorrectionsTask.cxx:356
 AliBaseMCCorrectionsTask.cxx:357
 AliBaseMCCorrectionsTask.cxx:358
 AliBaseMCCorrectionsTask.cxx:359
 AliBaseMCCorrectionsTask.cxx:360
 AliBaseMCCorrectionsTask.cxx:361
 AliBaseMCCorrectionsTask.cxx:362
 AliBaseMCCorrectionsTask.cxx:363
 AliBaseMCCorrectionsTask.cxx:364
 AliBaseMCCorrectionsTask.cxx:365
 AliBaseMCCorrectionsTask.cxx:366
 AliBaseMCCorrectionsTask.cxx:367
 AliBaseMCCorrectionsTask.cxx:368
 AliBaseMCCorrectionsTask.cxx:369
 AliBaseMCCorrectionsTask.cxx:370
 AliBaseMCCorrectionsTask.cxx:371
 AliBaseMCCorrectionsTask.cxx:372
 AliBaseMCCorrectionsTask.cxx:373
 AliBaseMCCorrectionsTask.cxx:374
 AliBaseMCCorrectionsTask.cxx:375
 AliBaseMCCorrectionsTask.cxx:376
 AliBaseMCCorrectionsTask.cxx:377
 AliBaseMCCorrectionsTask.cxx:378
 AliBaseMCCorrectionsTask.cxx:379
 AliBaseMCCorrectionsTask.cxx:380
 AliBaseMCCorrectionsTask.cxx:381
 AliBaseMCCorrectionsTask.cxx:382
 AliBaseMCCorrectionsTask.cxx:383
 AliBaseMCCorrectionsTask.cxx:384
 AliBaseMCCorrectionsTask.cxx:385
 AliBaseMCCorrectionsTask.cxx:386
 AliBaseMCCorrectionsTask.cxx:387
 AliBaseMCCorrectionsTask.cxx:388
 AliBaseMCCorrectionsTask.cxx:389
 AliBaseMCCorrectionsTask.cxx:390
 AliBaseMCCorrectionsTask.cxx:391
 AliBaseMCCorrectionsTask.cxx:392
 AliBaseMCCorrectionsTask.cxx:393
 AliBaseMCCorrectionsTask.cxx:394
 AliBaseMCCorrectionsTask.cxx:395
 AliBaseMCCorrectionsTask.cxx:396
 AliBaseMCCorrectionsTask.cxx:397
 AliBaseMCCorrectionsTask.cxx:398
 AliBaseMCCorrectionsTask.cxx:399
 AliBaseMCCorrectionsTask.cxx:400
 AliBaseMCCorrectionsTask.cxx:401
 AliBaseMCCorrectionsTask.cxx:402
 AliBaseMCCorrectionsTask.cxx:403
 AliBaseMCCorrectionsTask.cxx:404
 AliBaseMCCorrectionsTask.cxx:405
 AliBaseMCCorrectionsTask.cxx:406
 AliBaseMCCorrectionsTask.cxx:407
 AliBaseMCCorrectionsTask.cxx:408
 AliBaseMCCorrectionsTask.cxx:409
 AliBaseMCCorrectionsTask.cxx:410
 AliBaseMCCorrectionsTask.cxx:411
 AliBaseMCCorrectionsTask.cxx:412
 AliBaseMCCorrectionsTask.cxx:413
 AliBaseMCCorrectionsTask.cxx:414
 AliBaseMCCorrectionsTask.cxx:415
 AliBaseMCCorrectionsTask.cxx:416
 AliBaseMCCorrectionsTask.cxx:417
 AliBaseMCCorrectionsTask.cxx:418
 AliBaseMCCorrectionsTask.cxx:419
 AliBaseMCCorrectionsTask.cxx:420
 AliBaseMCCorrectionsTask.cxx:421
 AliBaseMCCorrectionsTask.cxx:422