ROOT logo
//
// Analysis task for 'mini' sub-package
// Contains all definitions needed for running an analysis:
// -- global event cut
// -- a list of track cuts (any number)
// -- definitions of output histograms
// -- values to be computed.
// Each one must be defined using the "CREATE" methods, which
// add directly a new element in the task collections, and don't
// need an external object to be passed to the task itself.
//

#include <Riostream.h>

#include <TH1.h>
#include <TList.h>
#include <TTree.h>
#include <TStopwatch.h>
#include "TRandom.h"

#include "AliLog.h"
#include "AliEventplane.h"
#include "AliMultiplicity.h"
#include "AliTriggerAnalysis.h"
#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliAnalysisUtils.h"

#include "AliESDtrackCuts.h"
#include "AliESDUtils.h"

#include "AliAODEvent.h"
#include "AliAODMCParticle.h"

#include "AliRsnCutSet.h"
#include "AliRsnMiniPair.h"
#include "AliRsnMiniEvent.h"
#include "AliRsnMiniParticle.h"

#include "AliRsnMiniAnalysisTask.h"


ClassImp(AliRsnMiniAnalysisTask)

//__________________________________________________________________________________________________
AliRsnMiniAnalysisTask::AliRsnMiniAnalysisTask() :
   AliAnalysisTaskSE(),
   fUseMC(kFALSE),
   fEvNum(0),
   fTriggerMask(0),
   fUseCentrality(kFALSE),
   fCentralityType("QUALITY"),
   fUseAOD049CentralityPatch(kFALSE),
   fUseCentralityPatchPbPb2011(0),
   fContinuousMix(kTRUE),
   fNMix(0),
   fMaxDiffMult(10),
   fMaxDiffVz(1.0),
   fMaxDiffAngle(1E20),
   fOutput(0x0),
   fHistograms("AliRsnMiniOutput", 0),
   fValues("AliRsnMiniValue", 0),
   fHEventStat(0x0),
   fHAEventsVsMulti(0x0),
   fHAEventsVsTracklets(0x0),
   fHAEventVz(0x0),
   fHAEventMultiCent(0x0),
   fHAEventPlane(0x0),
   fEventCuts(0x0),
   fTrackCuts(0),
   fRsnEvent(),
   fEvBuffer(0x0),
   fTriggerAna(0x0),
   fESDtrackCuts(0x0),
   fMiniEvent(0x0),
   fBigOutput(kFALSE),
   fMixPrintRefresh(-1),
   fMaxNDaughters(-1),
   fCheckP(kFALSE),
   fCheckFeedDown(kFALSE),   
   fOriginDselection(kFALSE),
   fKeepDfromB(kFALSE),
   fKeepDfromBOnly(kFALSE),
   fRejectIfNoQuark(kFALSE),
   fMotherAcceptanceCutMinPt(0.0),
   fMotherAcceptanceCutMaxEta(0.9),
   fKeepMotherInAcceptance(kFALSE) 
{
//
// Dummy constructor ALWAYS needed for I/O.
//
}

//__________________________________________________________________________________________________
AliRsnMiniAnalysisTask::AliRsnMiniAnalysisTask(const char *name, Bool_t useMC) :
   AliAnalysisTaskSE(name),
   fUseMC(useMC),
   fEvNum(0),
   fTriggerMask(AliVEvent::kMB),
   fUseCentrality(kFALSE),
   fCentralityType("QUALITY"),
   fUseAOD049CentralityPatch(kFALSE),
  fUseCentralityPatchPbPb2011(0),
   fContinuousMix(kTRUE),
   fNMix(0),
   fMaxDiffMult(10),
   fMaxDiffVz(1.0),
   fMaxDiffAngle(1E20),
   fOutput(0x0),
   fHistograms("AliRsnMiniOutput", 0),
   fValues("AliRsnMiniValue", 0),
   fHEventStat(0x0),
   fHAEventsVsMulti(0x0),
   fHAEventsVsTracklets(0x0),
   fHAEventVz(0x0),
   fHAEventMultiCent(0x0),
   fHAEventPlane(0x0),
   fEventCuts(0x0),
   fTrackCuts(0),
   fRsnEvent(),
   fEvBuffer(0x0),
   fTriggerAna(0x0),
   fESDtrackCuts(0x0),
   fMiniEvent(0x0),
   fBigOutput(kFALSE),
   fMixPrintRefresh(-1),
   fMaxNDaughters(-1),
   fCheckP(kFALSE),
   fCheckFeedDown(kFALSE),   
   fOriginDselection(kFALSE),
   fKeepDfromB(kFALSE),
   fKeepDfromBOnly(kFALSE),
   fRejectIfNoQuark(kFALSE),
   fMotherAcceptanceCutMinPt(0.0),
   fMotherAcceptanceCutMaxEta(0.9),
   fKeepMotherInAcceptance(kFALSE)
{
//
// Default constructor.
// Define input and output slots here (never in the dummy constructor)
// Input slot #0 works with a TChain - it is connected to the default input container
// Output slot #1 writes into a TH1 container
//

   DefineOutput(1, TList::Class());
}

//__________________________________________________________________________________________________
AliRsnMiniAnalysisTask::AliRsnMiniAnalysisTask(const AliRsnMiniAnalysisTask &copy) :
   AliAnalysisTaskSE(copy),
   fUseMC(copy.fUseMC),
   fEvNum(0),
   fTriggerMask(copy.fTriggerMask),
   fUseCentrality(copy.fUseCentrality),
   fCentralityType(copy.fCentralityType),
   fUseAOD049CentralityPatch(copy.fUseAOD049CentralityPatch),
   fUseCentralityPatchPbPb2011(copy.fUseCentralityPatchPbPb2011),
   fContinuousMix(copy.fContinuousMix),
   fNMix(copy.fNMix),
   fMaxDiffMult(copy.fMaxDiffMult),
   fMaxDiffVz(copy.fMaxDiffVz),
   fMaxDiffAngle(copy.fMaxDiffAngle),
   fOutput(0x0),
   fHistograms(copy.fHistograms),
   fValues(copy.fValues),
   fHEventStat(0x0),
   fHAEventsVsMulti(0x0),
   fHAEventsVsTracklets(0x0),
   fHAEventVz(0x0),
   fHAEventMultiCent(0x0),
   fHAEventPlane(0x0),
   fEventCuts(copy.fEventCuts),
   fTrackCuts(copy.fTrackCuts),
   fRsnEvent(),
   fEvBuffer(0x0),
   fTriggerAna(copy.fTriggerAna),
   fESDtrackCuts(copy.fESDtrackCuts),
   fMiniEvent(0x0),
   fBigOutput(copy.fBigOutput),
   fMixPrintRefresh(copy.fMixPrintRefresh),
   fMaxNDaughters(copy.fMaxNDaughters),
   fCheckP(copy.fCheckP),
   fCheckFeedDown(copy.fCheckFeedDown),   
   fOriginDselection(copy.fOriginDselection),
   fKeepDfromB(copy.fOriginDselection),
   fKeepDfromBOnly(copy.fKeepDfromBOnly),
   fRejectIfNoQuark(copy.fRejectIfNoQuark),
   fMotherAcceptanceCutMinPt(copy.fMotherAcceptanceCutMinPt),
   fMotherAcceptanceCutMaxEta(copy.fMotherAcceptanceCutMaxEta),
   fKeepMotherInAcceptance(copy.fKeepMotherInAcceptance)
{
//
// Copy constructor.
// Implemented as requested by C++ standards.
// Can be used in PROOF and by plugins.
//
}

//__________________________________________________________________________________________________
AliRsnMiniAnalysisTask &AliRsnMiniAnalysisTask::operator=(const AliRsnMiniAnalysisTask &copy)
{
//
// Assignment operator.
// Implemented as requested by C++ standards.
// Can be used in PROOF and by plugins.
//

   AliAnalysisTaskSE::operator=(copy);
   if (this == &copy)
      return *this;
   fUseMC = copy.fUseMC;
   fEvNum = copy.fEvNum;
   fTriggerMask = copy.fTriggerMask;
   fUseCentrality = copy.fUseCentrality;
   fCentralityType = copy.fCentralityType;
   fUseAOD049CentralityPatch = copy.fUseAOD049CentralityPatch;
   fUseCentralityPatchPbPb2011 = copy.fUseCentralityPatchPbPb2011;
   fContinuousMix = copy.fContinuousMix;
   fNMix = copy.fNMix;
   fMaxDiffMult = copy.fMaxDiffMult;
   fMaxDiffVz = copy.fMaxDiffVz;
   fMaxDiffAngle = copy.fMaxDiffAngle;
   fHistograms = copy.fHistograms;
   fValues = copy.fValues;
   fHEventStat = copy.fHEventStat;
   fHAEventsVsMulti = copy.fHAEventsVsMulti;
   fHAEventsVsTracklets = copy.fHAEventsVsTracklets;
   fHAEventVz = copy.fHAEventVz;
   fHAEventMultiCent = copy.fHAEventMultiCent;
   fHAEventPlane = copy.fHAEventPlane;
   fEventCuts = copy.fEventCuts;
   fTrackCuts = copy.fTrackCuts;
   fTriggerAna = copy.fTriggerAna;
   fESDtrackCuts = copy.fESDtrackCuts;
   fBigOutput = copy.fBigOutput;
   fMixPrintRefresh = copy.fMixPrintRefresh;
   fMaxNDaughters = copy.fMaxNDaughters;
   fCheckP = copy.fCheckP;
   fCheckFeedDown = copy.fCheckFeedDown;
   fOriginDselection = copy.fOriginDselection;
   fKeepDfromB = copy.fOriginDselection;
   fKeepDfromBOnly = copy.fKeepDfromBOnly;
   fRejectIfNoQuark = copy.fRejectIfNoQuark;
   fMotherAcceptanceCutMinPt = copy.fMotherAcceptanceCutMinPt;
   fMotherAcceptanceCutMaxEta = copy.fMotherAcceptanceCutMaxEta;
   fKeepMotherInAcceptance = copy.fKeepMotherInAcceptance;
   return (*this);
}

//__________________________________________________________________________________________________
AliRsnMiniAnalysisTask::~AliRsnMiniAnalysisTask()
{
//
// Destructor.
// Clean-up the output list, but not the histograms that are put inside
// (the list is owner and will clean-up these histograms). Protect in PROOF case.
//


   if (fOutput && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
      delete fOutput;
      delete fEvBuffer;
   }
}

//__________________________________________________________________________________________________
Int_t AliRsnMiniAnalysisTask::AddTrackCuts(AliRsnCutSet *cuts)
{
//
// Add a new cut set for a new criterion for track selection.
// A user can add as many as he wants, and each one corresponds
// to one of the available bits in the AliRsnMiniParticle mask.
// The only check is the following: if a cut set with the same name
// as the argument is there, this is not added.
// Return value is the array position of this set.
//

   TObject *obj = fTrackCuts.FindObject(cuts->GetName());

   if (obj) {
      AliInfo(Form("A cut set named '%s' already exists", cuts->GetName()));
      return fTrackCuts.IndexOf(obj);
   } else {
      fTrackCuts.AddLast(cuts);
      return fTrackCuts.IndexOf(cuts);
   }
}

//__________________________________________________________________________________________________
void AliRsnMiniAnalysisTask::UserCreateOutputObjects()
{
//
// Initialization of outputs.
// This is called once per worker node.
//

   // reset counter
   fEvNum = -1;

   // message
   AliInfo(Form("Selected event characterization: %s (%s)", (fUseCentrality ? "centrality" : "multiplicity"), fCentralityType.Data()));

   // initialize trigger analysis
   if (fTriggerAna) delete fTriggerAna;
   fTriggerAna = new AliTriggerAnalysis;

   // initialize ESD quality cuts
   if (fESDtrackCuts) delete fESDtrackCuts;
   fESDtrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010();

   // create list and set it as owner of its content (MANDATORY)
   if (fBigOutput) OpenFile(1);
   fOutput = new TList();
   fOutput->SetOwner();

   // initialize event statistics counter
   fHEventStat = new TH1F("hEventStat", "Event statistics", 9, 0.0, 9.0);
   fHEventStat->GetXaxis()->SetBinLabel(1, "CINT1B");
   fHEventStat->GetXaxis()->SetBinLabel(2, "V0AND");
   fHEventStat->GetXaxis()->SetBinLabel(3, "Candle");
   fHEventStat->GetXaxis()->SetBinLabel(4, "Accepted");
   fHEventStat->GetXaxis()->SetBinLabel(5, "Not Accepted - Total");   
   fHEventStat->GetXaxis()->SetBinLabel(6, "Not Accepted - No Track Vertex");
   fHEventStat->GetXaxis()->SetBinLabel(7, "Not Accepted - Not Enough Contributors");
   fHEventStat->GetXaxis()->SetBinLabel(8, "Not Accepted - No Vertex inside |z| < 10 cm");
   fHEventStat->GetXaxis()->SetBinLabel(9, "Not Accepted - Pile Up Events");
   
   
   fOutput->Add(fHEventStat);

   if (fUseCentrality)
      fHAEventsVsMulti = new TH1F("hAEventsVsMulti", "Accepted events vs Centrality", 100, 0, 100.0);
   else
      fHAEventsVsMulti = new TH1F("hAEventsVsMulti", "Accepted events vs Multiplicity",1000, 0, 1000.0);
   fOutput->Add(fHAEventsVsMulti);
   
   fHAEventsVsTracklets = new TH1F("hAEventsVsTracklets", "Accepted events vs Tracklet Number",1000, 0, 1000.0);
   fOutput->Add(fHAEventsVsTracklets);

   if(fHAEventVz) fOutput->Add(fHAEventVz);
   if(fHAEventMultiCent) fOutput->Add(fHAEventMultiCent);
   if(fHAEventPlane) fOutput->Add(fHAEventPlane);

   TIter next(&fTrackCuts);
   AliRsnCutSet *cs;
   while ((cs = (AliRsnCutSet *) next())) {
      cs->Init(fOutput);
   }

   // create temporary tree for filtered events
   if (fMiniEvent) delete fMiniEvent;
   fEvBuffer = new TTree("EventBuffer", "Temporary buffer for mini events");
   fEvBuffer->Branch("events", "AliRsnMiniEvent", &fMiniEvent);

   // create one histogram per each stored definition (event histograms)
   Int_t i, ndef = fHistograms.GetEntries();
   AliRsnMiniOutput *def = 0x0;
   for (i = 0; i < ndef; i++) {
      def = (AliRsnMiniOutput *)fHistograms[i];
      if (!def) continue;
      if (!def->Init(GetName(), fOutput)) {
         AliError(Form("Def '%s': failed initialization", def->GetName()));
         continue;
      }
   }

   // post data for ALL output slots >0 here, to get at least an empty histogram
   PostData(1, fOutput);
}

//__________________________________________________________________________________________________
void AliRsnMiniAnalysisTask::UserExec(Option_t *)
{
//
// Computation loop.
// In this case, it checks if the event is acceptable, and eventually
// creates the corresponding mini-event and stores it in the buffer.
// The real histogram filling is done at the end, in "FinishTaskOutput".
//

   // increment event counter
   fEvNum++;

   // check current event
   Char_t check = CheckCurrentEvent();
   if (!check) return;

   // setup PID response
   AliAnalysisManager *man = AliAnalysisManager::GetAnalysisManager();
   AliInputEventHandler *inputHandler = (AliInputEventHandler *)man->GetInputEventHandler();
   fRsnEvent.SetPIDResponse(inputHandler->GetPIDResponse());

   // fill a mini-event from current
   // and skip this event if no tracks were accepted
   FillMiniEvent(check);

   // fill MC based histograms on mothers,
   // which do need the original event
   if (fUseMC) {
      if (fRsnEvent.IsESD() && fMCEvent)
         FillTrueMotherESD(fMiniEvent);
      else if (fRsnEvent.IsAOD() && fRsnEvent.GetAODList())
         FillTrueMotherAOD(fMiniEvent);
   }

   // if the event is not empty, store it
   if (fMiniEvent->IsEmpty()) {
      AliDebugClass(2, Form("Rejecting empty event #%d", fEvNum));
   } else {
      Int_t id = fEvBuffer->GetEntries();
      AliDebugClass(2, Form("Adding event #%d with ID = %d", fEvNum, id));
      fMiniEvent->ID() = id;
      fEvBuffer->Fill();
   }

   // post data for computed stuff
   PostData(1, fOutput);
}

//__________________________________________________________________________________________________
void AliRsnMiniAnalysisTask::FinishTaskOutput()
{
//
// This function is called at the end of the loop on available events,
// and then the buffer will be full with all the corresponding mini-events,
// each one containing all tracks selected by each of the available track cuts.
// Here a loop is done on each of these events, and both single-event and mixing are computed
//

   // security code: reassign the buffer to the mini-event cursor
   fEvBuffer->SetBranchAddress("events", &fMiniEvent);
   TStopwatch timer;
   // prepare variables
   Int_t ievt, nEvents = (Int_t)fEvBuffer->GetEntries();
   Int_t idef, nDefs   = fHistograms.GetEntries();
   Int_t imix, iloop, ifill;
   AliRsnMiniOutput *def = 0x0;
   AliRsnMiniOutput::EComputation compType;

   Int_t printNum = fMixPrintRefresh;
   if (printNum < 0) {
      if (nEvents>1e5) printNum=nEvents/100;
      else if (nEvents>1e4) printNum=nEvents/10;
      else printNum = 0;
   }

   // loop on events, and for each one fill all outputs
   // using the appropriate procedure depending on its type
   // only mother-related histograms are filled in UserExec,
   // since they require direct access to MC event
   timer.Start();
   for (ievt = 0; ievt < nEvents; ievt++) {
      // get next entry
      fEvBuffer->GetEntry(ievt);
      if (printNum&&(ievt%printNum==0)) {
         AliInfo(Form("[%s] Std.Event %d/%d",GetName(), ievt,nEvents));
         timer.Stop(); timer.Print(); fflush(stdout); timer.Start(kFALSE);
      }
      // fill
      for (idef = 0; idef < nDefs; idef++) {
         def = (AliRsnMiniOutput *)fHistograms[idef];
         if (!def) continue;
         compType = def->GetComputation();
         // execute computation in the appropriate way
         switch (compType) {
            case AliRsnMiniOutput::kEventOnly:
               //AliDebugClass(1, Form("Event %d, def '%s': event-value histogram filling", ievt, def->GetName()));
               ifill = 1;
               def->FillEvent(fMiniEvent, &fValues);
               break;
            case AliRsnMiniOutput::kTruePair:
               //AliDebugClass(1, Form("Event %d, def '%s': true-pair histogram filling", ievt, def->GetName()));
               ifill = def->FillPair(fMiniEvent, fMiniEvent, &fValues);
               break;
            case AliRsnMiniOutput::kTrackPair:
               //AliDebugClass(1, Form("Event %d, def '%s': pair-value histogram filling", ievt, def->GetName()));
               ifill = def->FillPair(fMiniEvent, fMiniEvent, &fValues);
               break;
            case AliRsnMiniOutput::kTrackPairRotated1:
               //AliDebugClass(1, Form("Event %d, def '%s': rotated (1) background histogram filling", ievt, def->GetName()));
               ifill = def->FillPair(fMiniEvent, fMiniEvent, &fValues);
               break;
            case AliRsnMiniOutput::kTrackPairRotated2:
               //AliDebugClass(1, Form("Event %d, def '%s': rotated (2) background histogram filling", ievt, def->GetName()));
               ifill = def->FillPair(fMiniEvent, fMiniEvent, &fValues);
               break;
            default:
               // other kinds are processed elsewhere
               ifill = 0;
               AliDebugClass(2, Form("Computation = %d", (Int_t)compType));
         }
         // message
         AliDebugClass(1, Form("Event %6d: def = '%15s' -- fills = %5d", ievt, def->GetName(), ifill));
      }
   }

   // if no mixing is required, stop here and post the output
   if (fNMix < 1) {
      AliDebugClass(2, "Stopping here, since no mixing is required");
      PostData(1, fOutput);
      return;
   }

   // initialize mixing counter
   Int_t    nmatched[nEvents];
   TString *smatched = new TString[nEvents];
   for (ievt = 0; ievt < nEvents; ievt++) {
      smatched[ievt] = "|";
      nmatched[ievt] = 0;
   }


   AliInfo(Form("[%s] Std.Event %d/%d",GetName(), nEvents,nEvents));
   timer.Stop(); timer.Print(); timer.Start(); fflush(stdout);

   // search for good matchings
   for (ievt = 0; ievt < nEvents; ievt++) {
      if (printNum&&(ievt%printNum==0)) {
         AliInfo(Form("[%s] EventMixing searching %d/%d",GetName(),ievt,nEvents));
         timer.Stop(); timer.Print(); timer.Start(kFALSE); fflush(stdout);
      }
      if (nmatched[ievt] >= fNMix) continue;
      fEvBuffer->GetEntry(ievt);
      AliRsnMiniEvent evMain(*fMiniEvent);
      for (iloop = 1; iloop < nEvents; iloop++) {
         imix = ievt + iloop;
         if (imix >= nEvents) imix -= nEvents;
         if (imix == ievt) continue;
         // text next entry
         fEvBuffer->GetEntry(imix);
         // skip if events are not matched
         if (!EventsMatch(&evMain, fMiniEvent)) continue;
         // check that the array of good matches for mixed does not already contain main event
         if (smatched[imix].Contains(Form("|%d|", ievt))) continue;
         // check that the found good events has not enough matches already
         if (nmatched[imix] >= fNMix) continue;
         // add new mixing candidate
         smatched[ievt].Append(Form("%d|", imix));
         nmatched[ievt]++;
         nmatched[imix]++;
         if (nmatched[ievt] >= fNMix) break;
      }
      AliDebugClass(1, Form("Matches for event %5d = %d [%s] (missing are declared above)", evMain.ID(), nmatched[ievt], smatched[ievt].Data()));
   }

   AliInfo(Form("[%s] EventMixing searching %d/%d",GetName(),nEvents,nEvents));
   timer.Stop(); timer.Print(); fflush(stdout); timer.Start();

   // perform mixing
   TObjArray *list = 0x0;
   TObjString *os = 0x0;
   for (ievt = 0; ievt < nEvents; ievt++) {
      if (printNum&&(ievt%printNum==0)) {
         AliInfo(Form("[%s] EventMixing %d/%d",GetName(),ievt,nEvents));
         timer.Stop(); timer.Print(); timer.Start(kFALSE); fflush(stdout);
      }
      ifill = 0;
      fEvBuffer->GetEntry(ievt);
      AliRsnMiniEvent evMain(*fMiniEvent);
      list = smatched[ievt].Tokenize("|");
      TObjArrayIter next(list);
      while ( (os = (TObjString *)next()) ) {
         imix = os->GetString().Atoi();
         fEvBuffer->GetEntry(imix);
         for (idef = 0; idef < nDefs; idef++) {
            def = (AliRsnMiniOutput *)fHistograms[idef];
            if (!def) continue;
            if (!def->IsTrackPairMix()) continue;
            ifill += def->FillPair(&evMain, fMiniEvent, &fValues, kTRUE);
            if (!def->IsSymmetric()) {
               AliDebugClass(2, "Reflecting non symmetric pair");
               ifill += def->FillPair(fMiniEvent, &evMain, &fValues, kFALSE);
            }
         }
      }
      delete list;
   }

   delete [] smatched;

   AliInfo(Form("[%s] EventMixing %d/%d",GetName(),nEvents,nEvents));
   timer.Stop(); timer.Print(); fflush(stdout);

   /*
   OLD
   ifill = 0;
   for (iloop = 1; iloop < nEvents; iloop++) {
      imix = ievt + iloop;
      // restart from beginning if reached last event
      if (imix >= nEvents) imix -= nEvents;
      // avoid to mix an event with itself
      if (imix == ievt) continue;
      // skip all events already mixed enough times
      if (fNMixed[ievt] >= fNMix) break;
      if (fNMixed[imix] >= fNMix) continue;
      fEvBuffer->GetEntry(imix);
      // skip if events are not matched
      if (TMath::Abs(evMain.Vz()    - fMiniEvent->Vz()   ) > fMaxDiffVz   ) continue;
      if (TMath::Abs(evMain.Mult()  - fMiniEvent->Mult() ) > fMaxDiffMult ) continue;
      if (TMath::Abs(evMain.Angle() - fMiniEvent->Angle()) > fMaxDiffAngle) continue;
      // found a match: increment counter for both events
      AliDebugClass(1, Form("Event %d, def '%s': event mixing (%d with %d)", ievt, def->GetName(), ievt, imix));
      fNMixed[ievt]++;
      fNMixed[imix]++;
      // process mixing
      ifill += def->FillPair(&evMain, fMiniEvent, &fValues);
      // stop if mixed enough times
      if (fNMixed[ievt] >= fNMix) break;
   }
   break;
   // print number of mixings done with each event
   for (ievt = 0; ievt < nEvents; ievt++) {
      AliDebugClass(2, Form("Event %6d: mixed %2d times", ievt, fNMixed[ievt]));
   }
   */

   // post computed data
   PostData(1, fOutput);
}

//__________________________________________________________________________________________________
void AliRsnMiniAnalysisTask::Terminate(Option_t *)
{
//
// Draw result to screen, or perform fitting, normalizations
// Called once at the end of the query
//

   fOutput = dynamic_cast<TList *>(GetOutputData(1));
   if (!fOutput) {
      AliError("Could not retrieve TList fOutput");
      return;
   }
}

//__________________________________________________________________________________________________
Char_t AliRsnMiniAnalysisTask::CheckCurrentEvent()
{
//
// This method checks if current event is OK for analysis.
// In case it is, the pointers of the local AliRsnEvent data member
// will point to it, in order to allow cut checking, otherwise the
// function exits with a failure message.
// ---
// ESD events must pass the physics selection, AOD are supposed to do.
// ---
// While checking the event, a histogram is filled to count the number
// of CINT1B, V0AND and CANDLE events, which are needed for normalization
// ---
// Return values can be:
//    -- 'E' if the event is accepted and is ESD
//    -- 'A' if the event is accepted and is AOD
//    --  0  if the event is not accepted
//

   // string to sum messages
   TString msg("");

   // check input type
   // exit points are provided in all cases an event is bad
   // if this block is passed, an event can be rejected only
   // if it does not pass the set of event cuts defined in the task
   Char_t output = 0;
   Bool_t isSelected;
   if (fInputEvent->InheritsFrom(AliESDEvent::Class())) {
      // type ESD
      output = 'E';
      // ESD specific check: Physics Selection
      // --> if this is failed, the event is rejected
      isSelected = (((AliInputEventHandler *)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & fTriggerMask);

      if (!isSelected) {
         AliDebugClass(2, "Event does not pass physics selections");
         fRsnEvent.SetRef(0x0);
         fRsnEvent.SetRefMC(0x0);
         return 0;
      }
      // set reference to input
      fRsnEvent.SetRef(fInputEvent);
      // add MC if requested and available
      if (fUseMC) {
         if (fMCEvent)
            fRsnEvent.SetRefMC(fMCEvent);
         else {
            AliWarning("MC event requested but not available");
            fRsnEvent.SetRefMC(0x0);
         }
      }
   } else if (fInputEvent->InheritsFrom(AliAODEvent::Class())) {
      // type AOD
      output = 'A';
      // set reference to input
      fRsnEvent.SetRef(fInputEvent);
      // add MC if requested and available (it is in the same object)
      if (fUseMC) {
         fRsnEvent.SetRefMC(fInputEvent);
         if (!fRsnEvent.GetAODList()) {
            AliWarning("MC event requested but not available");
            fRsnEvent.SetRefMC(0x0);
         }
      }
   } else {
      AliError(Form("Bad input event class: %s", fInputEvent->ClassName()));
      // reset pointers in local AliRsnEvent object
      fRsnEvent.SetRef(0x0);
      fRsnEvent.SetRefMC(0x0);
      return 0;
   }

   // fill counter of accepted events
   fHEventStat->Fill(0.1);

   // check if it is V0AND
   // --> uses a cast to AliESDEvent even if the input is an AliAODEvent
   Bool_t v0A = fTriggerAna->IsOfflineTriggerFired((AliESDEvent *)fInputEvent, AliTriggerAnalysis::kV0A);
   Bool_t v0C = fTriggerAna->IsOfflineTriggerFired((AliESDEvent *)fInputEvent, AliTriggerAnalysis::kV0C);
   if (v0A && v0C) {
      msg += " -- VOAND = YES";
      fHEventStat->Fill(1.1);
   } else {
      msg += " -- VOAND = NO ";
   }

   // check candle
   // --> requires at least one good quality track with Pt > 0.5 and |eta| <= 0.8
   Int_t iTrack, ntracksLoop = fInputEvent->GetNumberOfTracks();
   Bool_t candle = kFALSE;
   for (iTrack = 0; iTrack < ntracksLoop; iTrack++) {
      AliVTrack   *track = (AliVTrack *)fInputEvent->GetTrack(iTrack);
      AliESDtrack *esdt  = dynamic_cast<AliESDtrack *>(track);
      AliAODTrack *aodt  = dynamic_cast<AliAODTrack *>(track);
      if (track->Pt() < 0.5) continue;
      if(TMath::Abs(track->Eta()) > 0.8) continue;
      if (esdt) if (!fESDtrackCuts->AcceptTrack(esdt)) continue;
      if (aodt) if (!aodt->TestFilterBit(5)) continue;
      candle = kTRUE;
      break;
   }
   if (candle) {
      msg += " -- CANDLE = YES";
      fHEventStat->Fill(2.1);
   } else {
      msg += " -- CANDLE = NO ";
   }

   // if event cuts are defined, they are checked here
   // final decision on the event depends on this
   isSelected = kTRUE;
   if (fEventCuts) {
      if (!fEventCuts->IsSelected(&fRsnEvent)) {
         msg += " -- Local cuts = REJECTED";
         isSelected = kFALSE;
      } else {
         msg += " -- Local cuts = ACCEPTED";
         isSelected = kTRUE;
      }
   } else {
      msg += " -- Local cuts = NONE";
      isSelected = kTRUE;
   }

   // if the above exit point is not taken, the event is accepted
   AliDebugClass(2, Form("Stats: %s", msg.Data()));
   if (isSelected) {
     fHEventStat->Fill(3.1);
     Double_t multi = ComputeCentrality((output == 'E'));
     Double_t tracklets = ComputeTracklets();
     fHAEventsVsMulti->Fill(multi);
     fHAEventsVsTracklets->Fill(tracklets);
     if(fHAEventVz) fHAEventVz->Fill(multi,fInputEvent->GetPrimaryVertex()->GetZ());
     if(fHAEventMultiCent) fHAEventMultiCent->Fill(multi,ComputeMultiplicity(output == 'E',fHAEventMultiCent->GetYaxis()->GetTitle()));
     if(fHAEventPlane) fHAEventPlane->Fill(multi,ComputeAngle());
     return output;
   } else {
     fHEventStat->Fill(4.1);
     AliAnalysisUtils *utils = new AliAnalysisUtils();
     const AliVVertex *vertex = fInputEvent->GetPrimaryVertex();
     if (!vertex) fHEventStat->Fill(5.1);
     else {
       TString title=vertex->GetTitle();
       if( (title.Contains("Z")) || (title.Contains("3D")) || vertex->GetNContributors()<1.) {
	 if( (title.Contains("Z")) || (title.Contains("3D")) ) fHEventStat->Fill(5.1);
	 if(vertex->GetNContributors()<1.) fHEventStat->Fill(6.1);
       }
       else if(TMath::Abs(vertex->GetZ())>10.) fHEventStat->Fill(7.1);
       else if(utils->IsPileUpEvent(fInputEvent)) fHEventStat->Fill(8.1);
     }
	 
     return 0;
   }
}

//__________________________________________________________________________________________________
void AliRsnMiniAnalysisTask::FillMiniEvent(Char_t evType)
{
//
// Refresh cursor mini-event data member to fill with current event.
// Returns the total number of tracks selected.
//

   // assign event-related values
   if (fMiniEvent) delete fMiniEvent;
   fMiniEvent = new AliRsnMiniEvent;
   fMiniEvent->Vz()    = fInputEvent->GetPrimaryVertex()->GetZ();
   fMiniEvent->Angle() = ComputeAngle();
   fMiniEvent->Mult()  = ComputeCentrality((evType == 'E'));
   fMiniEvent->Tracklets() = ComputeTracklets();
   AliDebugClass(2, Form("Event %d: type = %c -- vz = %f -- mult = %f -- angle = %f", fEvNum, evType, fMiniEvent->Vz(), fMiniEvent->Mult(), fMiniEvent->Angle()));

   // loop on daughters and assign track-related values
   Int_t ic, ncuts = fTrackCuts.GetEntries();
   Int_t ip, npart = fRsnEvent.GetAbsoluteSum();
   Int_t npos = 0, nneg = 0, nneu = 0;
   AliRsnDaughter cursor;
   AliRsnMiniParticle miniParticle;
   for (ip = 0; ip < npart; ip++) {
      // point cursor to next particle
      fRsnEvent.SetDaughter(cursor, ip);
      // copy momentum and MC info if present
      miniParticle.CopyDaughter(&cursor);
      miniParticle.Index() = ip;
      // switch on the bits corresponding to passed cuts
      for (ic = 0; ic < ncuts; ic++) {
         AliRsnCutSet *cuts = (AliRsnCutSet *)fTrackCuts[ic];
         if (cuts->IsSelected(&cursor)) miniParticle.SetCutBit(ic);
      }
      // if a track passes at least one track cut, it is added to the pool
      if (miniParticle.CutBits()) {
         fMiniEvent->AddParticle(miniParticle);
         if (miniParticle.Charge() == '+') npos++;
         else if (miniParticle.Charge() == '-') nneg++;
         else nneu++;
      }
   }

   // get number of accepted tracks
   AliDebugClass(1, Form("Event %6d: total = %5d, accepted = %4d (pos %4d, neg %4d, neu %4d)", fEvNum, npart, (Int_t)fMiniEvent->Particles().GetEntriesFast(), npos, nneg, nneu));
}

//__________________________________________________________________________________________________
Double_t AliRsnMiniAnalysisTask::ComputeAngle()
{
//
// Get the plane angle
//

   AliEventplane *plane = 0x0;

   if (fInputEvent->InheritsFrom(AliESDEvent::Class()))
      plane = fInputEvent->GetEventplane();
   else if (fInputEvent->InheritsFrom(AliAODEvent::Class())) {
      AliAODEvent *aodEvent = (AliAODEvent *)fInputEvent;
      plane = ((AliVAODHeader*)aodEvent->GetHeader())->GetEventplaneP();
   }

   if (plane)
      return plane->GetEventplane("Q");
   else {
      AliWarning("No event plane defined");
      return 1E20;
   }
}

//__________________________________________________________________________________________________
Double_t AliRsnMiniAnalysisTask::ComputeCentrality(Bool_t isESD)
{
//
// Computes event centrality/multiplicity according to the criterion defined
// by two elements: (1) choice between multiplicity and centrality and
// (2) the string defining what criterion must be used for specific computation.
//

   if (fUseCentrality) {
     if ((!fUseMC) && (fUseCentralityPatchPbPb2011)) {
       return ApplyCentralityPatchPbPb2011();//
    }
     if ((!fUseMC) && (!isESD) && (fUseAOD049CentralityPatch)) {
       return ApplyCentralityPatchAOD049();
     } else {
       AliCentrality *centrality = fInputEvent->GetCentrality();
         if (!centrality) {
	   AliError("Cannot compute centrality!");
	   return -1.0;
         }
         return centrality->GetCentralityPercentile(fCentralityType.Data());
     }
   } else {
      if (!fCentralityType.CompareTo("TRACKS"))
         return fInputEvent->GetNumberOfTracks();
      else if (!fCentralityType.CompareTo("QUALITY"))
         if (isESD)
            return AliESDtrackCuts::GetReferenceMultiplicity((AliESDEvent *)fInputEvent, kTRUE);
         else {
            Double_t count = 0.;
            Int_t iTrack, ntracksLoop = fInputEvent->GetNumberOfTracks();
            for (iTrack = 0; iTrack < ntracksLoop; iTrack++) {
               AliVTrack   *track = (AliVTrack *)fInputEvent->GetTrack(iTrack);
               AliAODTrack *aodt  = dynamic_cast<AliAODTrack *>(track);
               if (!aodt) continue;
               if (!aodt->TestFilterBit(5)) continue;
               count++;
            }
            return count;
         }
      else if (!fCentralityType.CompareTo("TRACKLETS")) {
         if (isESD) {
            const AliMultiplicity *mult = ((AliESDEvent *)fInputEvent)->GetMultiplicity();
            Float_t nClusters[6] = {0.0,0.0,0.0,0.0,0.0,0.0};
            for(Int_t ilay = 0; ilay < 6; ilay++) nClusters[ilay] = (Float_t)mult->GetNumberOfITSClusters(ilay);
            return AliESDUtils::GetCorrSPD2(nClusters[1], fInputEvent->GetPrimaryVertex()->GetZ());
         } else {
            AliWarning("Cannot compute multiplicity with SPD tracklets from AOD");
            return 1E20;
         }
      } else {
         AliError(Form("String '%s' does not define a possible multiplicity/centrality computation", fCentralityType.Data()));
         return -1.0;
      }
   }
}

//__________________________________________________________________________________________________
Double_t AliRsnMiniAnalysisTask::ComputeMultiplicity(Bool_t isESD,TString type)
{
//
// Computes event multiplicity according to the string defining
// what criterion must be used for specific computation.
//

   type.ToUpper();

   if (!type.CompareTo("TRACKS"))
      return fInputEvent->GetNumberOfTracks();
   else if (!type.CompareTo("QUALITY"))
      if (isESD)
         return AliESDtrackCuts::GetReferenceMultiplicity((AliESDEvent *)fInputEvent, kTRUE);
      else {
         Double_t count = 0.;
         Int_t iTrack, ntracksLoop = fInputEvent->GetNumberOfTracks();
         for (iTrack = 0; iTrack < ntracksLoop; iTrack++) {
            AliVTrack   *track = (AliVTrack *)fInputEvent->GetTrack(iTrack);
            AliAODTrack *aodt  = dynamic_cast<AliAODTrack *>(track);
            if (!aodt) continue;
            if (!aodt->TestFilterBit(5)) continue;
            count++;
         }
         return count;
      }
   else if (!type.CompareTo("TRACKLETS")) {
      if (isESD) {
         const AliMultiplicity *mult = ((AliESDEvent *)fInputEvent)->GetMultiplicity();
         Float_t nClusters[6] = {0.0,0.0,0.0,0.0,0.0,0.0};
         for(Int_t ilay = 0; ilay < 6; ilay++) nClusters[ilay] = (Float_t)mult->GetNumberOfITSClusters(ilay);
         return AliESDUtils::GetCorrSPD2(nClusters[1], fInputEvent->GetPrimaryVertex()->GetZ());
      } else {
         AliWarning("Cannot compute multiplicity with SPD tracklets from AOD");
         return 1E20;
      }
   } else {
      AliError(Form("String '%s' does not define a possible multiplicity/centrality computation", type.Data()));
      return -1.0;
   }
}

//__________________________________________________________________________________________________
Double_t AliRsnMiniAnalysisTask::ComputeTracklets()
{
//
// Get number of tracklets
//

  Double_t nTr = 100;
  Double_t count = 0.0;

  if (fInputEvent->InheritsFrom(AliESDEvent::Class())){
    AliESDEvent *esdEvent = (AliESDEvent *)fInputEvent;
    const AliMultiplicity *spdmult = esdEvent->GetMultiplicity();
    nTr = 1.0*spdmult->GetNumberOfTracklets();
    for(Int_t iTr=0; iTr<nTr; iTr++){
      Double_t theta=spdmult->GetTheta(iTr);
      Double_t eta=-TMath::Log(TMath::Tan(theta/2.));
      if(eta>-1.0 && eta<1.0) count++;
    } 
  }
  else if (fInputEvent->InheritsFrom(AliAODEvent::Class())) {
    AliAODEvent *aodEvent = (AliAODEvent *)fInputEvent;
    AliAODTracklets *spdmult = aodEvent->GetTracklets();
    nTr = 1.0*spdmult->GetNumberOfTracklets();
    for(Int_t iTr=0; iTr<nTr; iTr++){
      Double_t theta=spdmult->GetTheta(iTr);
      Double_t eta=-TMath::Log(TMath::Tan(theta/2.));
      if(eta>-1.0 && eta<1.0) count++;
    }
  }

  return count;
}

//__________________________________________________________________________________________________
void AliRsnMiniAnalysisTask::FillTrueMotherESD(AliRsnMiniEvent *miniEvent)
{
//
// Fills the histograms with true mother (ESD version)
//

   Bool_t okMatch;
   Int_t id, ndef = fHistograms.GetEntries();
   Int_t ip, label1, label2, npart = fMCEvent->GetNumberOfTracks();
   static AliRsnMiniPair miniPair;
   AliMCParticle *daughter1, *daughter2;
   TLorentzVector p1, p2;
   AliRsnMiniOutput *def = 0x0;

   for (id = 0; id < ndef; id++) {
      def = (AliRsnMiniOutput *)fHistograms[id];
      if (!def) continue;
      if (!def->IsMother() && !def->IsMotherInAcc()) continue;
      for (ip = 0; ip < npart; ip++) {
         AliMCParticle *part = (AliMCParticle *)fMCEvent->GetTrack(ip);
         //get mother pdg code
         if (part->Particle()->GetPdgCode() != def->GetMotherPDG()) continue;
         // check that daughters match expected species
         if (part->Particle()->GetNDaughters() < 2) continue; 
	 if (fMaxNDaughters > 0 && part->Particle()->GetNDaughters() > fMaxNDaughters) continue;
         label1 = part->Particle()->GetDaughter(0);
         label2 = part->Particle()->GetDaughter(1);
         daughter1 = (AliMCParticle *)fMCEvent->GetTrack(label1);
         daughter2 = (AliMCParticle *)fMCEvent->GetTrack(label2);
         okMatch = kFALSE;
         if (TMath::Abs(daughter1->Particle()->GetPdgCode()) == def->GetPDG(0) && TMath::Abs(daughter2->Particle()->GetPdgCode()) == def->GetPDG(1)) {
            okMatch = kTRUE;
            p1.SetXYZM(daughter1->Px(), daughter1->Py(), daughter1->Pz(), def->GetMass(0));
            p2.SetXYZM(daughter2->Px(), daughter2->Py(), daughter2->Pz(), def->GetMass(1));
         } else if (TMath::Abs(daughter1->Particle()->GetPdgCode()) == def->GetPDG(1) && TMath::Abs(daughter2->Particle()->GetPdgCode()) == def->GetPDG(0)) {
            okMatch = kTRUE;
            p1.SetXYZM(daughter1->Px(), daughter1->Py(), daughter1->Pz(), def->GetMass(1));
            p2.SetXYZM(daughter2->Px(), daughter2->Py(), daughter2->Pz(), def->GetMass(0));
         }
         if (!okMatch) continue;
	 if(fCheckP && (TMath::Abs(part->Px()-(daughter1->Px()+daughter2->Px()))/(TMath::Abs(part->Px())+1.e-13)) > 0.00001 &&	 
     				(TMath::Abs(part->Py()-(daughter1->Py()+daughter2->Py()))/(TMath::Abs(part->Py())+1.e-13)) > 0.00001 &&
     				(TMath::Abs(part->Pz()-(daughter1->Pz()+daughter2->Pz()))/(TMath::Abs(part->Pz())+1.e-13)) > 0.00001 ) continue;
	 if(fCheckFeedDown){
		Int_t pdgGranma = 0;
		Int_t mother = 0;
		mother = part->GetMother();
		Int_t istep = 0;
		Int_t abspdgGranma =0;
		Bool_t isFromB=kFALSE;
		Bool_t isQuarkFound=kFALSE;
		while (mother >=0 ){
			istep++;
			AliDebug(2,Form("mother at step %d = %d", istep, mother));
			AliMCParticle* mcGranma = dynamic_cast<AliMCParticle*>(fMCEvent->GetTrack(mother));
			if (mcGranma){
				pdgGranma = mcGranma->PdgCode();
				AliDebug(2,Form("Pdg mother at step %d = %d", istep, pdgGranma));
				abspdgGranma = TMath::Abs(pdgGranma);
				if ((abspdgGranma > 500 && abspdgGranma < 600) || (abspdgGranma > 5000 && abspdgGranma < 6000)){
				  isFromB=kTRUE;
				}
				if(abspdgGranma==4 || abspdgGranma==5) isQuarkFound=kTRUE;
				mother = mcGranma->GetMother();
			}else{
				AliError("Failed casting the mother particle!");
				break;
			}
		}
		if(fRejectIfNoQuark && !isQuarkFound) pdgGranma = -99999;
		if(isFromB){
		  if (!fKeepDfromB) pdgGranma = -9999; //skip particle if come from a B meson.
		}
		else{ 
		  if (fKeepDfromBOnly) pdgGranma = -999;
		  
		if (pdgGranma == -99999){
			AliDebug(2,"This particle does not have a quark in his genealogy\n");
			continue;
		}
		if (pdgGranma == -9999){
			AliDebug(2,"This particle come from a B decay channel but according to the settings of the task, we keep only the prompt charm particles\n");	
			continue;
		}	
		
		if (pdgGranma == -999){
			AliDebug(2,"This particle come from a prompt charm particles but according to the settings of the task, we want only the ones coming from B\n");  
			continue;
		}	

	      }
	 }
         // assign momenta to computation object
         miniPair.Sum(0) = miniPair.Sum(1) = (p1 + p2);
         miniPair.FillRef(def->GetMotherMass());
         // do computations
         def->FillMother(&miniPair, miniEvent, &fValues);
	 if(fKeepMotherInAcceptance){
	      if(daughter1->Pt()<fMotherAcceptanceCutMinPt || daughter2->Pt()<fMotherAcceptanceCutMinPt || TMath::Abs(daughter1->Eta())>fMotherAcceptanceCutMaxEta ||  TMath::Abs(daughter2->Eta())>fMotherAcceptanceCutMaxEta) continue;
	      def->FillMotherInAcceptance(&miniPair, miniEvent, &fValues);
	 }	 
	 
	 
      }
   }
}

//__________________________________________________________________________________________________
void AliRsnMiniAnalysisTask::FillTrueMotherAOD(AliRsnMiniEvent *miniEvent)
{
//
// Fills the histograms with true mother (AOD version)
//

   Bool_t okMatch;
   TClonesArray *list = fRsnEvent.GetAODList();
   Int_t id, ndef = fHistograms.GetEntries();
   Int_t ip, label1, label2, npart = list->GetEntries();
   static AliRsnMiniPair miniPair;
   AliAODMCParticle *daughter1, *daughter2;
   TLorentzVector p1, p2;
   AliRsnMiniOutput *def = 0x0;

   for (id = 0; id < ndef; id++) {
      def = (AliRsnMiniOutput *)fHistograms[id];
      if (!def) continue;
      if (!def->IsMother() && !def->IsMotherInAcc()) continue;
      for (ip = 0; ip < npart; ip++) {
         AliAODMCParticle *part = (AliAODMCParticle *)list->At(ip);
         if (part->GetPdgCode() != def->GetMotherPDG()) continue;
         // check that daughters match expected species
         if (part->GetNDaughters() < 2) continue;
	 if (fMaxNDaughters > 0 && part->GetNDaughters() > fMaxNDaughters) continue;
         label1 = part->GetDaughter(0);
         label2 = part->GetDaughter(1);
         daughter1 = (AliAODMCParticle *)list->At(label1);
         daughter2 = (AliAODMCParticle *)list->At(label2);
         okMatch = kFALSE;
         if (TMath::Abs(daughter1->GetPdgCode()) == def->GetPDG(0) && TMath::Abs(daughter2->GetPdgCode()) == def->GetPDG(1)) {
            okMatch = kTRUE;
            p1.SetXYZM(daughter1->Px(), daughter1->Py(), daughter1->Pz(), def->GetMass(0));
            p2.SetXYZM(daughter2->Px(), daughter2->Py(), daughter2->Pz(), def->GetMass(1));
         } else if (TMath::Abs(daughter1->GetPdgCode()) == def->GetPDG(1) && TMath::Abs(daughter2->GetPdgCode()) == def->GetPDG(0)) {
            okMatch = kTRUE;
            p1.SetXYZM(daughter1->Px(), daughter1->Py(), daughter1->Pz(), def->GetMass(1));
            p2.SetXYZM(daughter2->Px(), daughter2->Py(), daughter2->Pz(), def->GetMass(0));
         }
         if (!okMatch) continue;
	 if(fCheckP && (TMath::Abs(part->Px()-(daughter1->Px()+daughter2->Px()))/(TMath::Abs(part->Px())+1.e-13)) > 0.00001 &&	 
     				(TMath::Abs(part->Py()-(daughter1->Py()+daughter2->Py()))/(TMath::Abs(part->Py())+1.e-13)) > 0.00001 &&
     				(TMath::Abs(part->Pz()-(daughter1->Pz()+daughter2->Pz()))/(TMath::Abs(part->Pz())+1.e-13)) > 0.00001 ) continue;
	 if(fCheckFeedDown){
		Int_t pdgGranma = 0;
		Int_t mother = 0;
		mother = part->GetMother();
		Int_t istep = 0;
		Int_t abspdgGranma =0;
		Bool_t isFromB=kFALSE;
		Bool_t isQuarkFound=kFALSE;
		while (mother >=0 ){
			istep++;
			AliDebug(2,Form("mother at step %d = %d", istep, mother));
			AliAODMCParticle* mcGranma = dynamic_cast<AliAODMCParticle*>(list->At(mother));
			if (mcGranma){
				pdgGranma = mcGranma->GetPdgCode();
				AliDebug(2,Form("Pdg mother at step %d = %d", istep, pdgGranma));
				abspdgGranma = TMath::Abs(pdgGranma);
				if ((abspdgGranma > 500 && abspdgGranma < 600) || (abspdgGranma > 5000 && abspdgGranma < 6000)){
				  isFromB=kTRUE;
				}
				if(abspdgGranma==4 || abspdgGranma==5) isQuarkFound=kTRUE;
				mother = mcGranma->GetMother();
			}else{
				AliError("Failed casting the mother particle!");
				break;
			}
		}
		if(fRejectIfNoQuark && !isQuarkFound) pdgGranma = -99999;
		if(isFromB){
		  if (!fKeepDfromB) pdgGranma = -9999; //skip particle if come from a B meson.
		}
		else{ 
		  if (fKeepDfromBOnly) pdgGranma = -999;
		  }
		  
		if (pdgGranma == -99999){
			AliDebug(2,"This particle does not have a quark in his genealogy\n");
			continue;
		}
		if (pdgGranma == -9999){
			AliDebug(2,"This particle come from a B decay channel but according to the settings of the task, we keep only the prompt charm particles\n");	
			continue;
		}	
		
		if (pdgGranma == -999){
			AliDebug(2,"This particle come from a prompt charm particles but according to the settings of the task, we want only the ones coming from B\n");  
			continue;
		}	
	 } 
	 // assign momenta to computation object
         miniPair.Sum(0) = miniPair.Sum(1) = (p1 + p2);
         miniPair.FillRef(def->GetMotherMass());
         // do computations
         def->FillMother(&miniPair, miniEvent, &fValues);
	 if(fKeepMotherInAcceptance){
	      if(daughter1->Pt()<fMotherAcceptanceCutMinPt || daughter2->Pt()<fMotherAcceptanceCutMinPt || TMath::Abs(daughter1->Eta())>fMotherAcceptanceCutMaxEta ||  TMath::Abs(daughter2->Eta())>fMotherAcceptanceCutMaxEta) continue;
	      def->FillMotherInAcceptance(&miniPair, miniEvent, &fValues);
	 }
      }
   }
}
//___________________________________________________________
void AliRsnMiniAnalysisTask::SetDselection(UShort_t originDselection)
{
	// setting the way the D0 will be selected
	// 0 --> only from c quarks
	// 1 --> only from b quarks
	// 2 --> from both c quarks and b quarks
		
	fOriginDselection = originDselection;
	
	if (fOriginDselection == 0) {
		fKeepDfromB = kFALSE;
		fKeepDfromBOnly = kFALSE;
	}
	
	if (fOriginDselection == 1) {
		fKeepDfromB = kTRUE;
		fKeepDfromBOnly = kTRUE;
	}
	
	if (fOriginDselection == 2) {
		fKeepDfromB = kTRUE;
		fKeepDfromBOnly = kFALSE;
	}
	
	return;	
}
//__________________________________________________________________________________________________
Bool_t AliRsnMiniAnalysisTask::EventsMatch(AliRsnMiniEvent *event1, AliRsnMiniEvent *event2)
{
//
// Check if two events are compatible.
// If the mixing is continuous, this is true if differences in vz, mult and angle are smaller than
// the specified values.
// If the mixing is binned, this is true if the events are in the same bin.
//

   if (!event1 || !event2) return kFALSE;
   Int_t ivz1, ivz2, imult1, imult2, iangle1, iangle2;
   Double_t dv, dm, da;

   if (fContinuousMix) {
      dv = TMath::Abs(event1->Vz()    - event2->Vz()   );
      dm = TMath::Abs(event1->Mult()  - event2->Mult() );
      da = TMath::Abs(event1->Angle() - event2->Angle());
      if (dv > fMaxDiffVz) {
         //AliDebugClass(2, Form("Events #%4d and #%4d don't match due to a too large diff in Vz = %f", event1->ID(), event2->ID(), dv));
         return kFALSE;
      }
      if (dm > fMaxDiffMult ) {
         //AliDebugClass(2, Form("Events #%4d and #%4d don't match due to a too large diff in Mult = %f", event1->ID(), event2->ID(), dm));
         return kFALSE;
      }
      if (da > fMaxDiffAngle) {
         //AliDebugClass(2, Form("Events #%4d and #%4d don't match due to a too large diff in Angle = %f", event1->ID(), event2->ID(), da));
         return kFALSE;
      }
      return kTRUE;
   } else {
      ivz1 = (Int_t)(event1->Vz() / fMaxDiffVz);
      ivz2 = (Int_t)(event2->Vz() / fMaxDiffVz);
      imult1 = (Int_t)(event1->Mult() / fMaxDiffMult);
      imult2 = (Int_t)(event2->Mult() / fMaxDiffMult);
      iangle1 = (Int_t)(event1->Angle() / fMaxDiffAngle);
      iangle2 = (Int_t)(event2->Angle() / fMaxDiffAngle);
      if (ivz1 != ivz2) return kFALSE;
      if (imult1 != imult2) return kFALSE;
      if (iangle1 != iangle2) return kFALSE;
      return kTRUE;
   }
}

//---------------------------------------------------------------------
Double_t AliRsnMiniAnalysisTask::ApplyCentralityPatchPbPb2011(){
  //This part rejects randomly events such that the centrality gets flat for LHC11h Pb-Pb data
  //for 0-5% and 10-20% centrality bin
  
  if (fCentralityType!="V0M") {
    AliWarning("Wrong value (not centrality from V0).");
    return -999.0;
  }
  
  AliCentrality *centrality = fInputEvent->GetCentrality();
  if (!centrality) {
    AliWarning("Cannot get centrality from AOD event.");
    return -999.0;
  }
  
  Double_t cent = (Float_t)(centrality->GetCentralityPercentile("V0M"));               
  Double_t rnd_hc = -1., testf = 0.0, ff = 0, N1 = -1., N2 = -1.;

  if(fUseCentralityPatchPbPb2011==510){
    N1 = 1.9404e+06;
    N2 = 1.56435e+06; //N2 is the reference 
    ff = 5.04167e+06 - 1.49885e+06*cent + 2.35998e+05*cent*cent -1.22873e+04*cent*cent*cent;
  } else {
    if(fUseCentralityPatchPbPb2011==1020){
      N2 = 2.0e+05; //N2 is the reference
      N1 = 3.7e+05;
      ff = -1.73979e+06 - 3.05316e+06*cent + 1.05517e+06*cent*cent - 133205*cent*cent*cent + 8187.45*cent*cent*cent*cent - 247.875*cent*cent*cent*cent*cent + 2.9676*cent*cent*cent*cent*cent*cent;
    } else {
      AliError(Form("Patch for the requested centrality (%i) is not available", fUseCentralityPatchPbPb2011));
      return -999.0;
    }
  }
  testf = ( N2 + (N1-ff) ) / N1;
  rnd_hc = gRandom->Rndm();

  //AliDebugClass(1, Form("Flat Centrality %d", fUseCentralityPatchPbPb2011));

  if (rnd_hc < 0 || rnd_hc > 1 ) 
    {
      AliWarning("Wrong Random number generated");
      return -999.0;
    }
  
  if (rnd_hc < testf)
    return cent;
  else
    return -999.0;
}
//---------------------------------------------------------------------
Double_t AliRsnMiniAnalysisTask::ApplyCentralityPatchAOD049()
{
   //
   //Apply centrality patch for AOD049 outliers
   //
   if (fInputEvent->InheritsFrom(AliESDEvent::Class())) {
      AliWarning("Requested patch for AOD049 for ESD. ");
      return -999.0;
   }

   if (fCentralityType!="V0M") {
      AliWarning("Requested patch forAOD049 for wrong value (not centrality from V0).");
      return -999.0;
   }

   AliCentrality *centrality = fInputEvent->GetCentrality();
   if (!centrality) {
      AliWarning("Cannot get centrality from AOD event.");
      return -999.0;
   }

   Float_t cent = (Float_t)(centrality->GetCentralityPercentile("V0M"));
   /*
   Bool_t isSelRun = kFALSE;
   Int_t selRun[5] = {138364, 138826, 138828, 138836, 138871};
   if(cent<0){
     Int_t quality = centrality->GetQuality();
     if(quality<=1){
       cent=(Float_t)centrality->GetCentralityPercentileUnchecked("V0M");
     } else {
       Int_t runnum=aodEvent->GetRunNumber();
       for(Int_t ir=0;ir<5;ir++){
   if(runnum==selRun[ir]){
     isSelRun=kTRUE;
     break;
   }
       }
       if((quality==8||quality==9)&&isSelRun) cent=(Float_t)centrality->GetCentralityPercentileUnchecked("V0M");
     }
   }
   */

   if(cent>=0.0) {
      Float_t v0 = 0.0;
      AliAODEvent *aodEvent = (AliAODEvent *)fInputEvent;
      AliAODVZERO *aodV0 = (AliAODVZERO *) aodEvent->GetVZEROData();
      v0+=aodV0->GetMTotV0A();
      v0+=aodV0->GetMTotV0C();
      if ( (cent==0) && (v0<19500) ) {
         AliDebug(3, Form("Filtering issue in centrality -> cent = %5.2f",cent));
         return -999.0;
      }
      Float_t tkl = (Float_t)(aodEvent->GetTracklets()->GetNumberOfTracklets());
      Float_t val = 1.30552 +  0.147931 * v0;

      Float_t tklSigma[101] = {176.644, 156.401, 153.789, 153.015, 142.476, 137.951, 136.127, 129.852, 127.436, 124.86,
                               120.788, 115.611, 113.172, 110.496, 109.127, 104.421, 102.479, 99.9766, 97.5152, 94.0654,
                               92.4602, 89.3364, 87.1342, 83.3497, 82.6216, 81.1084, 78.0793, 76.1234, 72.9434, 72.1334,
                               68.0056, 68.2755, 66.0376, 62.9666, 62.4274, 59.65, 58.3776, 56.6361, 54.5184, 53.4224,
                               51.932, 50.8922, 48.2848, 47.912, 46.5717, 43.4114, 43.2083, 41.3065, 40.1863, 38.5255,
                               37.2851, 37.5396, 34.4949, 33.8366, 31.8043, 31.7412, 30.8392, 30.0274, 28.8793, 27.6398,
                               26.6488, 25.0183, 25.1489, 24.4185, 22.9107, 21.2002, 21.6977, 20.1242, 20.4963, 19.0235,
                               19.298, 17.4103, 16.868, 15.2939, 15.2939, 16.0295, 14.186, 14.186, 15.2173, 12.9504, 12.9504,
                               12.9504, 15.264, 12.3674, 12.3674, 12.3674, 12.3674, 12.3674, 18.3811, 13.7544, 13.7544,
                               13.7544, 13.7544, 13.7544, 13.7544, 13.7544, 13.7544, 13.7544, 13.7544, 13.7544, 13.7544
                              };

      if ( TMath::Abs(tkl-val) > 6.*tklSigma[(Int_t)cent] )  {
         AliDebug(3, Form("Outlier event in centrality -> cent = %5.2f",cent));
         return -999.0;
      }
   } else {
      //force it to be -999. whatever the negative value was
      cent = -999.;
   }
   return cent;
}

//----------------------------------------------------------------------------------
void AliRsnMiniAnalysisTask::SetEventQAHist(TString type,TH2F *histo)
{
   if(!histo) {
      AliWarning(Form("event QA histogram pointer not defined for slot %s",type.Data()));
      return;
   }

   type.ToLower();

   if(!type.CompareTo("vz")) fHAEventVz = histo;
   else if(!type.CompareTo("multicent")) {
      TString mtype(histo->GetYaxis()->GetTitle());
      mtype.ToUpper();
      if(mtype.CompareTo("QUALITY") && mtype.CompareTo("TRACKS") && mtype.CompareTo("TRACKLETS")) {
         AliWarning(Form("multiplicity vs. centrality histogram y-axis %s unknown, setting to TRACKS",mtype.Data()));
         histo->GetYaxis()->SetTitle("TRACKS");
      }
      fHAEventMultiCent = histo;
   }
   else if(!type.CompareTo("eventplane")) fHAEventPlane = histo;
   else AliWarning(Form("event QA histogram slot %s undefined",type.Data()));

   return;
}

//----------------------------------------------------------------------------------
Int_t AliRsnMiniAnalysisTask::CreateValue(AliRsnMiniValue::EType type, Bool_t useMC)
{
//
// Create a new value in the task,
// and returns its ID, which is needed for setting up histograms.
// If that value was already initialized, returns its ID and does not recreate it.
//

   Int_t valID = ValueID(type, useMC);
   if (valID >= 0 && valID < fValues.GetEntries()) {
      AliInfo(Form("Value '%s' is already created in slot #%d", AliRsnMiniValue::ValueName(type, useMC), valID));
   } else {
      valID = fValues.GetEntries();
      AliInfo(Form("Creating value '%s' in slot #%d", AliRsnMiniValue::ValueName(type, useMC), valID));
      new (fValues[valID]) AliRsnMiniValue(type, useMC);
   }

   return valID;
}

//----------------------------------------------------------------------------------
Int_t AliRsnMiniAnalysisTask::ValueID(AliRsnMiniValue::EType type, Bool_t useMC)
{
//
// Searches if a value computation is initialized
//

   const char *name = AliRsnMiniValue::ValueName(type, useMC);
   TObject *obj = fValues.FindObject(name);
   if (obj)
      return fValues.IndexOf(obj);
   else
      return -1;
}

//----------------------------------------------------------------------------------
AliRsnMiniOutput *AliRsnMiniAnalysisTask::CreateOutput(const char *name, AliRsnMiniOutput::EOutputType type, AliRsnMiniOutput::EComputation src)
{
//
// Create a new histogram definition in the task,
// which is then returned to the user for its configuration
//

   Int_t n = fHistograms.GetEntries();
   AliRsnMiniOutput *newDef = new (fHistograms[n]) AliRsnMiniOutput(name, type, src);

   return newDef;
}

//----------------------------------------------------------------------------------
AliRsnMiniOutput *AliRsnMiniAnalysisTask::CreateOutput(const char *name, const char *outType, const char *compType)
{
//
// Create a new histogram definition in the task,
// which is then returned to the user for its configuration
//

   Int_t n = fHistograms.GetEntries();
   AliRsnMiniOutput *newDef = new (fHistograms[n]) AliRsnMiniOutput(name, outType, compType);

   return newDef;
}
 AliRsnMiniAnalysisTask.cxx:1
 AliRsnMiniAnalysisTask.cxx:2
 AliRsnMiniAnalysisTask.cxx:3
 AliRsnMiniAnalysisTask.cxx:4
 AliRsnMiniAnalysisTask.cxx:5
 AliRsnMiniAnalysisTask.cxx:6
 AliRsnMiniAnalysisTask.cxx:7
 AliRsnMiniAnalysisTask.cxx:8
 AliRsnMiniAnalysisTask.cxx:9
 AliRsnMiniAnalysisTask.cxx:10
 AliRsnMiniAnalysisTask.cxx:11
 AliRsnMiniAnalysisTask.cxx:12
 AliRsnMiniAnalysisTask.cxx:13
 AliRsnMiniAnalysisTask.cxx:14
 AliRsnMiniAnalysisTask.cxx:15
 AliRsnMiniAnalysisTask.cxx:16
 AliRsnMiniAnalysisTask.cxx:17
 AliRsnMiniAnalysisTask.cxx:18
 AliRsnMiniAnalysisTask.cxx:19
 AliRsnMiniAnalysisTask.cxx:20
 AliRsnMiniAnalysisTask.cxx:21
 AliRsnMiniAnalysisTask.cxx:22
 AliRsnMiniAnalysisTask.cxx:23
 AliRsnMiniAnalysisTask.cxx:24
 AliRsnMiniAnalysisTask.cxx:25
 AliRsnMiniAnalysisTask.cxx:26
 AliRsnMiniAnalysisTask.cxx:27
 AliRsnMiniAnalysisTask.cxx:28
 AliRsnMiniAnalysisTask.cxx:29
 AliRsnMiniAnalysisTask.cxx:30
 AliRsnMiniAnalysisTask.cxx:31
 AliRsnMiniAnalysisTask.cxx:32
 AliRsnMiniAnalysisTask.cxx:33
 AliRsnMiniAnalysisTask.cxx:34
 AliRsnMiniAnalysisTask.cxx:35
 AliRsnMiniAnalysisTask.cxx:36
 AliRsnMiniAnalysisTask.cxx:37
 AliRsnMiniAnalysisTask.cxx:38
 AliRsnMiniAnalysisTask.cxx:39
 AliRsnMiniAnalysisTask.cxx:40
 AliRsnMiniAnalysisTask.cxx:41
 AliRsnMiniAnalysisTask.cxx:42
 AliRsnMiniAnalysisTask.cxx:43
 AliRsnMiniAnalysisTask.cxx:44
 AliRsnMiniAnalysisTask.cxx:45
 AliRsnMiniAnalysisTask.cxx:46
 AliRsnMiniAnalysisTask.cxx:47
 AliRsnMiniAnalysisTask.cxx:48
 AliRsnMiniAnalysisTask.cxx:49
 AliRsnMiniAnalysisTask.cxx:50
 AliRsnMiniAnalysisTask.cxx:51
 AliRsnMiniAnalysisTask.cxx:52
 AliRsnMiniAnalysisTask.cxx:53
 AliRsnMiniAnalysisTask.cxx:54
 AliRsnMiniAnalysisTask.cxx:55
 AliRsnMiniAnalysisTask.cxx:56
 AliRsnMiniAnalysisTask.cxx:57
 AliRsnMiniAnalysisTask.cxx:58
 AliRsnMiniAnalysisTask.cxx:59
 AliRsnMiniAnalysisTask.cxx:60
 AliRsnMiniAnalysisTask.cxx:61
 AliRsnMiniAnalysisTask.cxx:62
 AliRsnMiniAnalysisTask.cxx:63
 AliRsnMiniAnalysisTask.cxx:64
 AliRsnMiniAnalysisTask.cxx:65
 AliRsnMiniAnalysisTask.cxx:66
 AliRsnMiniAnalysisTask.cxx:67
 AliRsnMiniAnalysisTask.cxx:68
 AliRsnMiniAnalysisTask.cxx:69
 AliRsnMiniAnalysisTask.cxx:70
 AliRsnMiniAnalysisTask.cxx:71
 AliRsnMiniAnalysisTask.cxx:72
 AliRsnMiniAnalysisTask.cxx:73
 AliRsnMiniAnalysisTask.cxx:74
 AliRsnMiniAnalysisTask.cxx:75
 AliRsnMiniAnalysisTask.cxx:76
 AliRsnMiniAnalysisTask.cxx:77
 AliRsnMiniAnalysisTask.cxx:78
 AliRsnMiniAnalysisTask.cxx:79
 AliRsnMiniAnalysisTask.cxx:80
 AliRsnMiniAnalysisTask.cxx:81
 AliRsnMiniAnalysisTask.cxx:82
 AliRsnMiniAnalysisTask.cxx:83
 AliRsnMiniAnalysisTask.cxx:84
 AliRsnMiniAnalysisTask.cxx:85
 AliRsnMiniAnalysisTask.cxx:86
 AliRsnMiniAnalysisTask.cxx:87
 AliRsnMiniAnalysisTask.cxx:88
 AliRsnMiniAnalysisTask.cxx:89
 AliRsnMiniAnalysisTask.cxx:90
 AliRsnMiniAnalysisTask.cxx:91
 AliRsnMiniAnalysisTask.cxx:92
 AliRsnMiniAnalysisTask.cxx:93
 AliRsnMiniAnalysisTask.cxx:94
 AliRsnMiniAnalysisTask.cxx:95
 AliRsnMiniAnalysisTask.cxx:96
 AliRsnMiniAnalysisTask.cxx:97
 AliRsnMiniAnalysisTask.cxx:98
 AliRsnMiniAnalysisTask.cxx:99
 AliRsnMiniAnalysisTask.cxx:100
 AliRsnMiniAnalysisTask.cxx:101
 AliRsnMiniAnalysisTask.cxx:102
 AliRsnMiniAnalysisTask.cxx:103
 AliRsnMiniAnalysisTask.cxx:104
 AliRsnMiniAnalysisTask.cxx:105
 AliRsnMiniAnalysisTask.cxx:106
 AliRsnMiniAnalysisTask.cxx:107
 AliRsnMiniAnalysisTask.cxx:108
 AliRsnMiniAnalysisTask.cxx:109
 AliRsnMiniAnalysisTask.cxx:110
 AliRsnMiniAnalysisTask.cxx:111
 AliRsnMiniAnalysisTask.cxx:112
 AliRsnMiniAnalysisTask.cxx:113
 AliRsnMiniAnalysisTask.cxx:114
 AliRsnMiniAnalysisTask.cxx:115
 AliRsnMiniAnalysisTask.cxx:116
 AliRsnMiniAnalysisTask.cxx:117
 AliRsnMiniAnalysisTask.cxx:118
 AliRsnMiniAnalysisTask.cxx:119
 AliRsnMiniAnalysisTask.cxx:120
 AliRsnMiniAnalysisTask.cxx:121
 AliRsnMiniAnalysisTask.cxx:122
 AliRsnMiniAnalysisTask.cxx:123
 AliRsnMiniAnalysisTask.cxx:124
 AliRsnMiniAnalysisTask.cxx:125
 AliRsnMiniAnalysisTask.cxx:126
 AliRsnMiniAnalysisTask.cxx:127
 AliRsnMiniAnalysisTask.cxx:128
 AliRsnMiniAnalysisTask.cxx:129
 AliRsnMiniAnalysisTask.cxx:130
 AliRsnMiniAnalysisTask.cxx:131
 AliRsnMiniAnalysisTask.cxx:132
 AliRsnMiniAnalysisTask.cxx:133
 AliRsnMiniAnalysisTask.cxx:134
 AliRsnMiniAnalysisTask.cxx:135
 AliRsnMiniAnalysisTask.cxx:136
 AliRsnMiniAnalysisTask.cxx:137
 AliRsnMiniAnalysisTask.cxx:138
 AliRsnMiniAnalysisTask.cxx:139
 AliRsnMiniAnalysisTask.cxx:140
 AliRsnMiniAnalysisTask.cxx:141
 AliRsnMiniAnalysisTask.cxx:142
 AliRsnMiniAnalysisTask.cxx:143
 AliRsnMiniAnalysisTask.cxx:144
 AliRsnMiniAnalysisTask.cxx:145
 AliRsnMiniAnalysisTask.cxx:146
 AliRsnMiniAnalysisTask.cxx:147
 AliRsnMiniAnalysisTask.cxx:148
 AliRsnMiniAnalysisTask.cxx:149
 AliRsnMiniAnalysisTask.cxx:150
 AliRsnMiniAnalysisTask.cxx:151
 AliRsnMiniAnalysisTask.cxx:152
 AliRsnMiniAnalysisTask.cxx:153
 AliRsnMiniAnalysisTask.cxx:154
 AliRsnMiniAnalysisTask.cxx:155
 AliRsnMiniAnalysisTask.cxx:156
 AliRsnMiniAnalysisTask.cxx:157
 AliRsnMiniAnalysisTask.cxx:158
 AliRsnMiniAnalysisTask.cxx:159
 AliRsnMiniAnalysisTask.cxx:160
 AliRsnMiniAnalysisTask.cxx:161
 AliRsnMiniAnalysisTask.cxx:162
 AliRsnMiniAnalysisTask.cxx:163
 AliRsnMiniAnalysisTask.cxx:164
 AliRsnMiniAnalysisTask.cxx:165
 AliRsnMiniAnalysisTask.cxx:166
 AliRsnMiniAnalysisTask.cxx:167
 AliRsnMiniAnalysisTask.cxx:168
 AliRsnMiniAnalysisTask.cxx:169
 AliRsnMiniAnalysisTask.cxx:170
 AliRsnMiniAnalysisTask.cxx:171
 AliRsnMiniAnalysisTask.cxx:172
 AliRsnMiniAnalysisTask.cxx:173
 AliRsnMiniAnalysisTask.cxx:174
 AliRsnMiniAnalysisTask.cxx:175
 AliRsnMiniAnalysisTask.cxx:176
 AliRsnMiniAnalysisTask.cxx:177
 AliRsnMiniAnalysisTask.cxx:178
 AliRsnMiniAnalysisTask.cxx:179
 AliRsnMiniAnalysisTask.cxx:180
 AliRsnMiniAnalysisTask.cxx:181
 AliRsnMiniAnalysisTask.cxx:182
 AliRsnMiniAnalysisTask.cxx:183
 AliRsnMiniAnalysisTask.cxx:184
 AliRsnMiniAnalysisTask.cxx:185
 AliRsnMiniAnalysisTask.cxx:186
 AliRsnMiniAnalysisTask.cxx:187
 AliRsnMiniAnalysisTask.cxx:188
 AliRsnMiniAnalysisTask.cxx:189
 AliRsnMiniAnalysisTask.cxx:190
 AliRsnMiniAnalysisTask.cxx:191
 AliRsnMiniAnalysisTask.cxx:192
 AliRsnMiniAnalysisTask.cxx:193
 AliRsnMiniAnalysisTask.cxx:194
 AliRsnMiniAnalysisTask.cxx:195
 AliRsnMiniAnalysisTask.cxx:196
 AliRsnMiniAnalysisTask.cxx:197
 AliRsnMiniAnalysisTask.cxx:198
 AliRsnMiniAnalysisTask.cxx:199
 AliRsnMiniAnalysisTask.cxx:200
 AliRsnMiniAnalysisTask.cxx:201
 AliRsnMiniAnalysisTask.cxx:202
 AliRsnMiniAnalysisTask.cxx:203
 AliRsnMiniAnalysisTask.cxx:204
 AliRsnMiniAnalysisTask.cxx:205
 AliRsnMiniAnalysisTask.cxx:206
 AliRsnMiniAnalysisTask.cxx:207
 AliRsnMiniAnalysisTask.cxx:208
 AliRsnMiniAnalysisTask.cxx:209
 AliRsnMiniAnalysisTask.cxx:210
 AliRsnMiniAnalysisTask.cxx:211
 AliRsnMiniAnalysisTask.cxx:212
 AliRsnMiniAnalysisTask.cxx:213
 AliRsnMiniAnalysisTask.cxx:214
 AliRsnMiniAnalysisTask.cxx:215
 AliRsnMiniAnalysisTask.cxx:216
 AliRsnMiniAnalysisTask.cxx:217
 AliRsnMiniAnalysisTask.cxx:218
 AliRsnMiniAnalysisTask.cxx:219
 AliRsnMiniAnalysisTask.cxx:220
 AliRsnMiniAnalysisTask.cxx:221
 AliRsnMiniAnalysisTask.cxx:222
 AliRsnMiniAnalysisTask.cxx:223
 AliRsnMiniAnalysisTask.cxx:224
 AliRsnMiniAnalysisTask.cxx:225
 AliRsnMiniAnalysisTask.cxx:226
 AliRsnMiniAnalysisTask.cxx:227
 AliRsnMiniAnalysisTask.cxx:228
 AliRsnMiniAnalysisTask.cxx:229
 AliRsnMiniAnalysisTask.cxx:230
 AliRsnMiniAnalysisTask.cxx:231
 AliRsnMiniAnalysisTask.cxx:232
 AliRsnMiniAnalysisTask.cxx:233
 AliRsnMiniAnalysisTask.cxx:234
 AliRsnMiniAnalysisTask.cxx:235
 AliRsnMiniAnalysisTask.cxx:236
 AliRsnMiniAnalysisTask.cxx:237
 AliRsnMiniAnalysisTask.cxx:238
 AliRsnMiniAnalysisTask.cxx:239
 AliRsnMiniAnalysisTask.cxx:240
 AliRsnMiniAnalysisTask.cxx:241
 AliRsnMiniAnalysisTask.cxx:242
 AliRsnMiniAnalysisTask.cxx:243
 AliRsnMiniAnalysisTask.cxx:244
 AliRsnMiniAnalysisTask.cxx:245
 AliRsnMiniAnalysisTask.cxx:246
 AliRsnMiniAnalysisTask.cxx:247
 AliRsnMiniAnalysisTask.cxx:248
 AliRsnMiniAnalysisTask.cxx:249
 AliRsnMiniAnalysisTask.cxx:250
 AliRsnMiniAnalysisTask.cxx:251
 AliRsnMiniAnalysisTask.cxx:252
 AliRsnMiniAnalysisTask.cxx:253
 AliRsnMiniAnalysisTask.cxx:254
 AliRsnMiniAnalysisTask.cxx:255
 AliRsnMiniAnalysisTask.cxx:256
 AliRsnMiniAnalysisTask.cxx:257
 AliRsnMiniAnalysisTask.cxx:258
 AliRsnMiniAnalysisTask.cxx:259
 AliRsnMiniAnalysisTask.cxx:260
 AliRsnMiniAnalysisTask.cxx:261
 AliRsnMiniAnalysisTask.cxx:262
 AliRsnMiniAnalysisTask.cxx:263
 AliRsnMiniAnalysisTask.cxx:264
 AliRsnMiniAnalysisTask.cxx:265
 AliRsnMiniAnalysisTask.cxx:266
 AliRsnMiniAnalysisTask.cxx:267
 AliRsnMiniAnalysisTask.cxx:268
 AliRsnMiniAnalysisTask.cxx:269
 AliRsnMiniAnalysisTask.cxx:270
 AliRsnMiniAnalysisTask.cxx:271
 AliRsnMiniAnalysisTask.cxx:272
 AliRsnMiniAnalysisTask.cxx:273
 AliRsnMiniAnalysisTask.cxx:274
 AliRsnMiniAnalysisTask.cxx:275
 AliRsnMiniAnalysisTask.cxx:276
 AliRsnMiniAnalysisTask.cxx:277
 AliRsnMiniAnalysisTask.cxx:278
 AliRsnMiniAnalysisTask.cxx:279
 AliRsnMiniAnalysisTask.cxx:280
 AliRsnMiniAnalysisTask.cxx:281
 AliRsnMiniAnalysisTask.cxx:282
 AliRsnMiniAnalysisTask.cxx:283
 AliRsnMiniAnalysisTask.cxx:284
 AliRsnMiniAnalysisTask.cxx:285
 AliRsnMiniAnalysisTask.cxx:286
 AliRsnMiniAnalysisTask.cxx:287
 AliRsnMiniAnalysisTask.cxx:288
 AliRsnMiniAnalysisTask.cxx:289
 AliRsnMiniAnalysisTask.cxx:290
 AliRsnMiniAnalysisTask.cxx:291
 AliRsnMiniAnalysisTask.cxx:292
 AliRsnMiniAnalysisTask.cxx:293
 AliRsnMiniAnalysisTask.cxx:294
 AliRsnMiniAnalysisTask.cxx:295
 AliRsnMiniAnalysisTask.cxx:296
 AliRsnMiniAnalysisTask.cxx:297
 AliRsnMiniAnalysisTask.cxx:298
 AliRsnMiniAnalysisTask.cxx:299
 AliRsnMiniAnalysisTask.cxx:300
 AliRsnMiniAnalysisTask.cxx:301
 AliRsnMiniAnalysisTask.cxx:302
 AliRsnMiniAnalysisTask.cxx:303
 AliRsnMiniAnalysisTask.cxx:304
 AliRsnMiniAnalysisTask.cxx:305
 AliRsnMiniAnalysisTask.cxx:306
 AliRsnMiniAnalysisTask.cxx:307
 AliRsnMiniAnalysisTask.cxx:308
 AliRsnMiniAnalysisTask.cxx:309
 AliRsnMiniAnalysisTask.cxx:310
 AliRsnMiniAnalysisTask.cxx:311
 AliRsnMiniAnalysisTask.cxx:312
 AliRsnMiniAnalysisTask.cxx:313
 AliRsnMiniAnalysisTask.cxx:314
 AliRsnMiniAnalysisTask.cxx:315
 AliRsnMiniAnalysisTask.cxx:316
 AliRsnMiniAnalysisTask.cxx:317
 AliRsnMiniAnalysisTask.cxx:318
 AliRsnMiniAnalysisTask.cxx:319
 AliRsnMiniAnalysisTask.cxx:320
 AliRsnMiniAnalysisTask.cxx:321
 AliRsnMiniAnalysisTask.cxx:322
 AliRsnMiniAnalysisTask.cxx:323
 AliRsnMiniAnalysisTask.cxx:324
 AliRsnMiniAnalysisTask.cxx:325
 AliRsnMiniAnalysisTask.cxx:326
 AliRsnMiniAnalysisTask.cxx:327
 AliRsnMiniAnalysisTask.cxx:328
 AliRsnMiniAnalysisTask.cxx:329
 AliRsnMiniAnalysisTask.cxx:330
 AliRsnMiniAnalysisTask.cxx:331
 AliRsnMiniAnalysisTask.cxx:332
 AliRsnMiniAnalysisTask.cxx:333
 AliRsnMiniAnalysisTask.cxx:334
 AliRsnMiniAnalysisTask.cxx:335
 AliRsnMiniAnalysisTask.cxx:336
 AliRsnMiniAnalysisTask.cxx:337
 AliRsnMiniAnalysisTask.cxx:338
 AliRsnMiniAnalysisTask.cxx:339
 AliRsnMiniAnalysisTask.cxx:340
 AliRsnMiniAnalysisTask.cxx:341
 AliRsnMiniAnalysisTask.cxx:342
 AliRsnMiniAnalysisTask.cxx:343
 AliRsnMiniAnalysisTask.cxx:344
 AliRsnMiniAnalysisTask.cxx:345
 AliRsnMiniAnalysisTask.cxx:346
 AliRsnMiniAnalysisTask.cxx:347
 AliRsnMiniAnalysisTask.cxx:348
 AliRsnMiniAnalysisTask.cxx:349
 AliRsnMiniAnalysisTask.cxx:350
 AliRsnMiniAnalysisTask.cxx:351
 AliRsnMiniAnalysisTask.cxx:352
 AliRsnMiniAnalysisTask.cxx:353
 AliRsnMiniAnalysisTask.cxx:354
 AliRsnMiniAnalysisTask.cxx:355
 AliRsnMiniAnalysisTask.cxx:356
 AliRsnMiniAnalysisTask.cxx:357
 AliRsnMiniAnalysisTask.cxx:358
 AliRsnMiniAnalysisTask.cxx:359
 AliRsnMiniAnalysisTask.cxx:360
 AliRsnMiniAnalysisTask.cxx:361
 AliRsnMiniAnalysisTask.cxx:362
 AliRsnMiniAnalysisTask.cxx:363
 AliRsnMiniAnalysisTask.cxx:364
 AliRsnMiniAnalysisTask.cxx:365
 AliRsnMiniAnalysisTask.cxx:366
 AliRsnMiniAnalysisTask.cxx:367
 AliRsnMiniAnalysisTask.cxx:368
 AliRsnMiniAnalysisTask.cxx:369
 AliRsnMiniAnalysisTask.cxx:370
 AliRsnMiniAnalysisTask.cxx:371
 AliRsnMiniAnalysisTask.cxx:372
 AliRsnMiniAnalysisTask.cxx:373
 AliRsnMiniAnalysisTask.cxx:374
 AliRsnMiniAnalysisTask.cxx:375
 AliRsnMiniAnalysisTask.cxx:376
 AliRsnMiniAnalysisTask.cxx:377
 AliRsnMiniAnalysisTask.cxx:378
 AliRsnMiniAnalysisTask.cxx:379
 AliRsnMiniAnalysisTask.cxx:380
 AliRsnMiniAnalysisTask.cxx:381
 AliRsnMiniAnalysisTask.cxx:382
 AliRsnMiniAnalysisTask.cxx:383
 AliRsnMiniAnalysisTask.cxx:384
 AliRsnMiniAnalysisTask.cxx:385
 AliRsnMiniAnalysisTask.cxx:386
 AliRsnMiniAnalysisTask.cxx:387
 AliRsnMiniAnalysisTask.cxx:388
 AliRsnMiniAnalysisTask.cxx:389
 AliRsnMiniAnalysisTask.cxx:390
 AliRsnMiniAnalysisTask.cxx:391
 AliRsnMiniAnalysisTask.cxx:392
 AliRsnMiniAnalysisTask.cxx:393
 AliRsnMiniAnalysisTask.cxx:394
 AliRsnMiniAnalysisTask.cxx:395
 AliRsnMiniAnalysisTask.cxx:396
 AliRsnMiniAnalysisTask.cxx:397
 AliRsnMiniAnalysisTask.cxx:398
 AliRsnMiniAnalysisTask.cxx:399
 AliRsnMiniAnalysisTask.cxx:400
 AliRsnMiniAnalysisTask.cxx:401
 AliRsnMiniAnalysisTask.cxx:402
 AliRsnMiniAnalysisTask.cxx:403
 AliRsnMiniAnalysisTask.cxx:404
 AliRsnMiniAnalysisTask.cxx:405
 AliRsnMiniAnalysisTask.cxx:406
 AliRsnMiniAnalysisTask.cxx:407
 AliRsnMiniAnalysisTask.cxx:408
 AliRsnMiniAnalysisTask.cxx:409
 AliRsnMiniAnalysisTask.cxx:410
 AliRsnMiniAnalysisTask.cxx:411
 AliRsnMiniAnalysisTask.cxx:412
 AliRsnMiniAnalysisTask.cxx:413
 AliRsnMiniAnalysisTask.cxx:414
 AliRsnMiniAnalysisTask.cxx:415
 AliRsnMiniAnalysisTask.cxx:416
 AliRsnMiniAnalysisTask.cxx:417
 AliRsnMiniAnalysisTask.cxx:418
 AliRsnMiniAnalysisTask.cxx:419
 AliRsnMiniAnalysisTask.cxx:420
 AliRsnMiniAnalysisTask.cxx:421
 AliRsnMiniAnalysisTask.cxx:422
 AliRsnMiniAnalysisTask.cxx:423
 AliRsnMiniAnalysisTask.cxx:424
 AliRsnMiniAnalysisTask.cxx:425
 AliRsnMiniAnalysisTask.cxx:426
 AliRsnMiniAnalysisTask.cxx:427
 AliRsnMiniAnalysisTask.cxx:428
 AliRsnMiniAnalysisTask.cxx:429
 AliRsnMiniAnalysisTask.cxx:430
 AliRsnMiniAnalysisTask.cxx:431
 AliRsnMiniAnalysisTask.cxx:432
 AliRsnMiniAnalysisTask.cxx:433
 AliRsnMiniAnalysisTask.cxx:434
 AliRsnMiniAnalysisTask.cxx:435
 AliRsnMiniAnalysisTask.cxx:436
 AliRsnMiniAnalysisTask.cxx:437
 AliRsnMiniAnalysisTask.cxx:438
 AliRsnMiniAnalysisTask.cxx:439
 AliRsnMiniAnalysisTask.cxx:440
 AliRsnMiniAnalysisTask.cxx:441
 AliRsnMiniAnalysisTask.cxx:442
 AliRsnMiniAnalysisTask.cxx:443
 AliRsnMiniAnalysisTask.cxx:444
 AliRsnMiniAnalysisTask.cxx:445
 AliRsnMiniAnalysisTask.cxx:446
 AliRsnMiniAnalysisTask.cxx:447
 AliRsnMiniAnalysisTask.cxx:448
 AliRsnMiniAnalysisTask.cxx:449
 AliRsnMiniAnalysisTask.cxx:450
 AliRsnMiniAnalysisTask.cxx:451
 AliRsnMiniAnalysisTask.cxx:452
 AliRsnMiniAnalysisTask.cxx:453
 AliRsnMiniAnalysisTask.cxx:454
 AliRsnMiniAnalysisTask.cxx:455
 AliRsnMiniAnalysisTask.cxx:456
 AliRsnMiniAnalysisTask.cxx:457
 AliRsnMiniAnalysisTask.cxx:458
 AliRsnMiniAnalysisTask.cxx:459
 AliRsnMiniAnalysisTask.cxx:460
 AliRsnMiniAnalysisTask.cxx:461
 AliRsnMiniAnalysisTask.cxx:462
 AliRsnMiniAnalysisTask.cxx:463
 AliRsnMiniAnalysisTask.cxx:464
 AliRsnMiniAnalysisTask.cxx:465
 AliRsnMiniAnalysisTask.cxx:466
 AliRsnMiniAnalysisTask.cxx:467
 AliRsnMiniAnalysisTask.cxx:468
 AliRsnMiniAnalysisTask.cxx:469
 AliRsnMiniAnalysisTask.cxx:470
 AliRsnMiniAnalysisTask.cxx:471
 AliRsnMiniAnalysisTask.cxx:472
 AliRsnMiniAnalysisTask.cxx:473
 AliRsnMiniAnalysisTask.cxx:474
 AliRsnMiniAnalysisTask.cxx:475
 AliRsnMiniAnalysisTask.cxx:476
 AliRsnMiniAnalysisTask.cxx:477
 AliRsnMiniAnalysisTask.cxx:478
 AliRsnMiniAnalysisTask.cxx:479
 AliRsnMiniAnalysisTask.cxx:480
 AliRsnMiniAnalysisTask.cxx:481
 AliRsnMiniAnalysisTask.cxx:482
 AliRsnMiniAnalysisTask.cxx:483
 AliRsnMiniAnalysisTask.cxx:484
 AliRsnMiniAnalysisTask.cxx:485
 AliRsnMiniAnalysisTask.cxx:486
 AliRsnMiniAnalysisTask.cxx:487
 AliRsnMiniAnalysisTask.cxx:488
 AliRsnMiniAnalysisTask.cxx:489
 AliRsnMiniAnalysisTask.cxx:490
 AliRsnMiniAnalysisTask.cxx:491
 AliRsnMiniAnalysisTask.cxx:492
 AliRsnMiniAnalysisTask.cxx:493
 AliRsnMiniAnalysisTask.cxx:494
 AliRsnMiniAnalysisTask.cxx:495
 AliRsnMiniAnalysisTask.cxx:496
 AliRsnMiniAnalysisTask.cxx:497
 AliRsnMiniAnalysisTask.cxx:498
 AliRsnMiniAnalysisTask.cxx:499
 AliRsnMiniAnalysisTask.cxx:500
 AliRsnMiniAnalysisTask.cxx:501
 AliRsnMiniAnalysisTask.cxx:502
 AliRsnMiniAnalysisTask.cxx:503
 AliRsnMiniAnalysisTask.cxx:504
 AliRsnMiniAnalysisTask.cxx:505
 AliRsnMiniAnalysisTask.cxx:506
 AliRsnMiniAnalysisTask.cxx:507
 AliRsnMiniAnalysisTask.cxx:508
 AliRsnMiniAnalysisTask.cxx:509
 AliRsnMiniAnalysisTask.cxx:510
 AliRsnMiniAnalysisTask.cxx:511
 AliRsnMiniAnalysisTask.cxx:512
 AliRsnMiniAnalysisTask.cxx:513
 AliRsnMiniAnalysisTask.cxx:514
 AliRsnMiniAnalysisTask.cxx:515
 AliRsnMiniAnalysisTask.cxx:516
 AliRsnMiniAnalysisTask.cxx:517
 AliRsnMiniAnalysisTask.cxx:518
 AliRsnMiniAnalysisTask.cxx:519
 AliRsnMiniAnalysisTask.cxx:520
 AliRsnMiniAnalysisTask.cxx:521
 AliRsnMiniAnalysisTask.cxx:522
 AliRsnMiniAnalysisTask.cxx:523
 AliRsnMiniAnalysisTask.cxx:524
 AliRsnMiniAnalysisTask.cxx:525
 AliRsnMiniAnalysisTask.cxx:526
 AliRsnMiniAnalysisTask.cxx:527
 AliRsnMiniAnalysisTask.cxx:528
 AliRsnMiniAnalysisTask.cxx:529
 AliRsnMiniAnalysisTask.cxx:530
 AliRsnMiniAnalysisTask.cxx:531
 AliRsnMiniAnalysisTask.cxx:532
 AliRsnMiniAnalysisTask.cxx:533
 AliRsnMiniAnalysisTask.cxx:534
 AliRsnMiniAnalysisTask.cxx:535
 AliRsnMiniAnalysisTask.cxx:536
 AliRsnMiniAnalysisTask.cxx:537
 AliRsnMiniAnalysisTask.cxx:538
 AliRsnMiniAnalysisTask.cxx:539
 AliRsnMiniAnalysisTask.cxx:540
 AliRsnMiniAnalysisTask.cxx:541
 AliRsnMiniAnalysisTask.cxx:542
 AliRsnMiniAnalysisTask.cxx:543
 AliRsnMiniAnalysisTask.cxx:544
 AliRsnMiniAnalysisTask.cxx:545
 AliRsnMiniAnalysisTask.cxx:546
 AliRsnMiniAnalysisTask.cxx:547
 AliRsnMiniAnalysisTask.cxx:548
 AliRsnMiniAnalysisTask.cxx:549
 AliRsnMiniAnalysisTask.cxx:550
 AliRsnMiniAnalysisTask.cxx:551
 AliRsnMiniAnalysisTask.cxx:552
 AliRsnMiniAnalysisTask.cxx:553
 AliRsnMiniAnalysisTask.cxx:554
 AliRsnMiniAnalysisTask.cxx:555
 AliRsnMiniAnalysisTask.cxx:556
 AliRsnMiniAnalysisTask.cxx:557
 AliRsnMiniAnalysisTask.cxx:558
 AliRsnMiniAnalysisTask.cxx:559
 AliRsnMiniAnalysisTask.cxx:560
 AliRsnMiniAnalysisTask.cxx:561
 AliRsnMiniAnalysisTask.cxx:562
 AliRsnMiniAnalysisTask.cxx:563
 AliRsnMiniAnalysisTask.cxx:564
 AliRsnMiniAnalysisTask.cxx:565
 AliRsnMiniAnalysisTask.cxx:566
 AliRsnMiniAnalysisTask.cxx:567
 AliRsnMiniAnalysisTask.cxx:568
 AliRsnMiniAnalysisTask.cxx:569
 AliRsnMiniAnalysisTask.cxx:570
 AliRsnMiniAnalysisTask.cxx:571
 AliRsnMiniAnalysisTask.cxx:572
 AliRsnMiniAnalysisTask.cxx:573
 AliRsnMiniAnalysisTask.cxx:574
 AliRsnMiniAnalysisTask.cxx:575
 AliRsnMiniAnalysisTask.cxx:576
 AliRsnMiniAnalysisTask.cxx:577
 AliRsnMiniAnalysisTask.cxx:578
 AliRsnMiniAnalysisTask.cxx:579
 AliRsnMiniAnalysisTask.cxx:580
 AliRsnMiniAnalysisTask.cxx:581
 AliRsnMiniAnalysisTask.cxx:582
 AliRsnMiniAnalysisTask.cxx:583
 AliRsnMiniAnalysisTask.cxx:584
 AliRsnMiniAnalysisTask.cxx:585
 AliRsnMiniAnalysisTask.cxx:586
 AliRsnMiniAnalysisTask.cxx:587
 AliRsnMiniAnalysisTask.cxx:588
 AliRsnMiniAnalysisTask.cxx:589
 AliRsnMiniAnalysisTask.cxx:590
 AliRsnMiniAnalysisTask.cxx:591
 AliRsnMiniAnalysisTask.cxx:592
 AliRsnMiniAnalysisTask.cxx:593
 AliRsnMiniAnalysisTask.cxx:594
 AliRsnMiniAnalysisTask.cxx:595
 AliRsnMiniAnalysisTask.cxx:596
 AliRsnMiniAnalysisTask.cxx:597
 AliRsnMiniAnalysisTask.cxx:598
 AliRsnMiniAnalysisTask.cxx:599
 AliRsnMiniAnalysisTask.cxx:600
 AliRsnMiniAnalysisTask.cxx:601
 AliRsnMiniAnalysisTask.cxx:602
 AliRsnMiniAnalysisTask.cxx:603
 AliRsnMiniAnalysisTask.cxx:604
 AliRsnMiniAnalysisTask.cxx:605
 AliRsnMiniAnalysisTask.cxx:606
 AliRsnMiniAnalysisTask.cxx:607
 AliRsnMiniAnalysisTask.cxx:608
 AliRsnMiniAnalysisTask.cxx:609
 AliRsnMiniAnalysisTask.cxx:610
 AliRsnMiniAnalysisTask.cxx:611
 AliRsnMiniAnalysisTask.cxx:612
 AliRsnMiniAnalysisTask.cxx:613
 AliRsnMiniAnalysisTask.cxx:614
 AliRsnMiniAnalysisTask.cxx:615
 AliRsnMiniAnalysisTask.cxx:616
 AliRsnMiniAnalysisTask.cxx:617
 AliRsnMiniAnalysisTask.cxx:618
 AliRsnMiniAnalysisTask.cxx:619
 AliRsnMiniAnalysisTask.cxx:620
 AliRsnMiniAnalysisTask.cxx:621
 AliRsnMiniAnalysisTask.cxx:622
 AliRsnMiniAnalysisTask.cxx:623
 AliRsnMiniAnalysisTask.cxx:624
 AliRsnMiniAnalysisTask.cxx:625
 AliRsnMiniAnalysisTask.cxx:626
 AliRsnMiniAnalysisTask.cxx:627
 AliRsnMiniAnalysisTask.cxx:628
 AliRsnMiniAnalysisTask.cxx:629
 AliRsnMiniAnalysisTask.cxx:630
 AliRsnMiniAnalysisTask.cxx:631
 AliRsnMiniAnalysisTask.cxx:632
 AliRsnMiniAnalysisTask.cxx:633
 AliRsnMiniAnalysisTask.cxx:634
 AliRsnMiniAnalysisTask.cxx:635
 AliRsnMiniAnalysisTask.cxx:636
 AliRsnMiniAnalysisTask.cxx:637
 AliRsnMiniAnalysisTask.cxx:638
 AliRsnMiniAnalysisTask.cxx:639
 AliRsnMiniAnalysisTask.cxx:640
 AliRsnMiniAnalysisTask.cxx:641
 AliRsnMiniAnalysisTask.cxx:642
 AliRsnMiniAnalysisTask.cxx:643
 AliRsnMiniAnalysisTask.cxx:644
 AliRsnMiniAnalysisTask.cxx:645
 AliRsnMiniAnalysisTask.cxx:646
 AliRsnMiniAnalysisTask.cxx:647
 AliRsnMiniAnalysisTask.cxx:648
 AliRsnMiniAnalysisTask.cxx:649
 AliRsnMiniAnalysisTask.cxx:650
 AliRsnMiniAnalysisTask.cxx:651
 AliRsnMiniAnalysisTask.cxx:652
 AliRsnMiniAnalysisTask.cxx:653
 AliRsnMiniAnalysisTask.cxx:654
 AliRsnMiniAnalysisTask.cxx:655
 AliRsnMiniAnalysisTask.cxx:656
 AliRsnMiniAnalysisTask.cxx:657
 AliRsnMiniAnalysisTask.cxx:658
 AliRsnMiniAnalysisTask.cxx:659
 AliRsnMiniAnalysisTask.cxx:660
 AliRsnMiniAnalysisTask.cxx:661
 AliRsnMiniAnalysisTask.cxx:662
 AliRsnMiniAnalysisTask.cxx:663
 AliRsnMiniAnalysisTask.cxx:664
 AliRsnMiniAnalysisTask.cxx:665
 AliRsnMiniAnalysisTask.cxx:666
 AliRsnMiniAnalysisTask.cxx:667
 AliRsnMiniAnalysisTask.cxx:668
 AliRsnMiniAnalysisTask.cxx:669
 AliRsnMiniAnalysisTask.cxx:670
 AliRsnMiniAnalysisTask.cxx:671
 AliRsnMiniAnalysisTask.cxx:672
 AliRsnMiniAnalysisTask.cxx:673
 AliRsnMiniAnalysisTask.cxx:674
 AliRsnMiniAnalysisTask.cxx:675
 AliRsnMiniAnalysisTask.cxx:676
 AliRsnMiniAnalysisTask.cxx:677
 AliRsnMiniAnalysisTask.cxx:678
 AliRsnMiniAnalysisTask.cxx:679
 AliRsnMiniAnalysisTask.cxx:680
 AliRsnMiniAnalysisTask.cxx:681
 AliRsnMiniAnalysisTask.cxx:682
 AliRsnMiniAnalysisTask.cxx:683
 AliRsnMiniAnalysisTask.cxx:684
 AliRsnMiniAnalysisTask.cxx:685
 AliRsnMiniAnalysisTask.cxx:686
 AliRsnMiniAnalysisTask.cxx:687
 AliRsnMiniAnalysisTask.cxx:688
 AliRsnMiniAnalysisTask.cxx:689
 AliRsnMiniAnalysisTask.cxx:690
 AliRsnMiniAnalysisTask.cxx:691
 AliRsnMiniAnalysisTask.cxx:692
 AliRsnMiniAnalysisTask.cxx:693
 AliRsnMiniAnalysisTask.cxx:694
 AliRsnMiniAnalysisTask.cxx:695
 AliRsnMiniAnalysisTask.cxx:696
 AliRsnMiniAnalysisTask.cxx:697
 AliRsnMiniAnalysisTask.cxx:698
 AliRsnMiniAnalysisTask.cxx:699
 AliRsnMiniAnalysisTask.cxx:700
 AliRsnMiniAnalysisTask.cxx:701
 AliRsnMiniAnalysisTask.cxx:702
 AliRsnMiniAnalysisTask.cxx:703
 AliRsnMiniAnalysisTask.cxx:704
 AliRsnMiniAnalysisTask.cxx:705
 AliRsnMiniAnalysisTask.cxx:706
 AliRsnMiniAnalysisTask.cxx:707
 AliRsnMiniAnalysisTask.cxx:708
 AliRsnMiniAnalysisTask.cxx:709
 AliRsnMiniAnalysisTask.cxx:710
 AliRsnMiniAnalysisTask.cxx:711
 AliRsnMiniAnalysisTask.cxx:712
 AliRsnMiniAnalysisTask.cxx:713
 AliRsnMiniAnalysisTask.cxx:714
 AliRsnMiniAnalysisTask.cxx:715
 AliRsnMiniAnalysisTask.cxx:716
 AliRsnMiniAnalysisTask.cxx:717
 AliRsnMiniAnalysisTask.cxx:718
 AliRsnMiniAnalysisTask.cxx:719
 AliRsnMiniAnalysisTask.cxx:720
 AliRsnMiniAnalysisTask.cxx:721
 AliRsnMiniAnalysisTask.cxx:722
 AliRsnMiniAnalysisTask.cxx:723
 AliRsnMiniAnalysisTask.cxx:724
 AliRsnMiniAnalysisTask.cxx:725
 AliRsnMiniAnalysisTask.cxx:726
 AliRsnMiniAnalysisTask.cxx:727
 AliRsnMiniAnalysisTask.cxx:728
 AliRsnMiniAnalysisTask.cxx:729
 AliRsnMiniAnalysisTask.cxx:730
 AliRsnMiniAnalysisTask.cxx:731
 AliRsnMiniAnalysisTask.cxx:732
 AliRsnMiniAnalysisTask.cxx:733
 AliRsnMiniAnalysisTask.cxx:734
 AliRsnMiniAnalysisTask.cxx:735
 AliRsnMiniAnalysisTask.cxx:736
 AliRsnMiniAnalysisTask.cxx:737
 AliRsnMiniAnalysisTask.cxx:738
 AliRsnMiniAnalysisTask.cxx:739
 AliRsnMiniAnalysisTask.cxx:740
 AliRsnMiniAnalysisTask.cxx:741
 AliRsnMiniAnalysisTask.cxx:742
 AliRsnMiniAnalysisTask.cxx:743
 AliRsnMiniAnalysisTask.cxx:744
 AliRsnMiniAnalysisTask.cxx:745
 AliRsnMiniAnalysisTask.cxx:746
 AliRsnMiniAnalysisTask.cxx:747
 AliRsnMiniAnalysisTask.cxx:748
 AliRsnMiniAnalysisTask.cxx:749
 AliRsnMiniAnalysisTask.cxx:750
 AliRsnMiniAnalysisTask.cxx:751
 AliRsnMiniAnalysisTask.cxx:752
 AliRsnMiniAnalysisTask.cxx:753
 AliRsnMiniAnalysisTask.cxx:754
 AliRsnMiniAnalysisTask.cxx:755
 AliRsnMiniAnalysisTask.cxx:756
 AliRsnMiniAnalysisTask.cxx:757
 AliRsnMiniAnalysisTask.cxx:758
 AliRsnMiniAnalysisTask.cxx:759
 AliRsnMiniAnalysisTask.cxx:760
 AliRsnMiniAnalysisTask.cxx:761
 AliRsnMiniAnalysisTask.cxx:762
 AliRsnMiniAnalysisTask.cxx:763
 AliRsnMiniAnalysisTask.cxx:764
 AliRsnMiniAnalysisTask.cxx:765
 AliRsnMiniAnalysisTask.cxx:766
 AliRsnMiniAnalysisTask.cxx:767
 AliRsnMiniAnalysisTask.cxx:768
 AliRsnMiniAnalysisTask.cxx:769
 AliRsnMiniAnalysisTask.cxx:770
 AliRsnMiniAnalysisTask.cxx:771
 AliRsnMiniAnalysisTask.cxx:772
 AliRsnMiniAnalysisTask.cxx:773
 AliRsnMiniAnalysisTask.cxx:774
 AliRsnMiniAnalysisTask.cxx:775
 AliRsnMiniAnalysisTask.cxx:776
 AliRsnMiniAnalysisTask.cxx:777
 AliRsnMiniAnalysisTask.cxx:778
 AliRsnMiniAnalysisTask.cxx:779
 AliRsnMiniAnalysisTask.cxx:780
 AliRsnMiniAnalysisTask.cxx:781
 AliRsnMiniAnalysisTask.cxx:782
 AliRsnMiniAnalysisTask.cxx:783
 AliRsnMiniAnalysisTask.cxx:784
 AliRsnMiniAnalysisTask.cxx:785
 AliRsnMiniAnalysisTask.cxx:786
 AliRsnMiniAnalysisTask.cxx:787
 AliRsnMiniAnalysisTask.cxx:788
 AliRsnMiniAnalysisTask.cxx:789
 AliRsnMiniAnalysisTask.cxx:790
 AliRsnMiniAnalysisTask.cxx:791
 AliRsnMiniAnalysisTask.cxx:792
 AliRsnMiniAnalysisTask.cxx:793
 AliRsnMiniAnalysisTask.cxx:794
 AliRsnMiniAnalysisTask.cxx:795
 AliRsnMiniAnalysisTask.cxx:796
 AliRsnMiniAnalysisTask.cxx:797
 AliRsnMiniAnalysisTask.cxx:798
 AliRsnMiniAnalysisTask.cxx:799
 AliRsnMiniAnalysisTask.cxx:800
 AliRsnMiniAnalysisTask.cxx:801
 AliRsnMiniAnalysisTask.cxx:802
 AliRsnMiniAnalysisTask.cxx:803
 AliRsnMiniAnalysisTask.cxx:804
 AliRsnMiniAnalysisTask.cxx:805
 AliRsnMiniAnalysisTask.cxx:806
 AliRsnMiniAnalysisTask.cxx:807
 AliRsnMiniAnalysisTask.cxx:808
 AliRsnMiniAnalysisTask.cxx:809
 AliRsnMiniAnalysisTask.cxx:810
 AliRsnMiniAnalysisTask.cxx:811
 AliRsnMiniAnalysisTask.cxx:812
 AliRsnMiniAnalysisTask.cxx:813
 AliRsnMiniAnalysisTask.cxx:814
 AliRsnMiniAnalysisTask.cxx:815
 AliRsnMiniAnalysisTask.cxx:816
 AliRsnMiniAnalysisTask.cxx:817
 AliRsnMiniAnalysisTask.cxx:818
 AliRsnMiniAnalysisTask.cxx:819
 AliRsnMiniAnalysisTask.cxx:820
 AliRsnMiniAnalysisTask.cxx:821
 AliRsnMiniAnalysisTask.cxx:822
 AliRsnMiniAnalysisTask.cxx:823
 AliRsnMiniAnalysisTask.cxx:824
 AliRsnMiniAnalysisTask.cxx:825
 AliRsnMiniAnalysisTask.cxx:826
 AliRsnMiniAnalysisTask.cxx:827
 AliRsnMiniAnalysisTask.cxx:828
 AliRsnMiniAnalysisTask.cxx:829
 AliRsnMiniAnalysisTask.cxx:830
 AliRsnMiniAnalysisTask.cxx:831
 AliRsnMiniAnalysisTask.cxx:832
 AliRsnMiniAnalysisTask.cxx:833
 AliRsnMiniAnalysisTask.cxx:834
 AliRsnMiniAnalysisTask.cxx:835
 AliRsnMiniAnalysisTask.cxx:836
 AliRsnMiniAnalysisTask.cxx:837
 AliRsnMiniAnalysisTask.cxx:838
 AliRsnMiniAnalysisTask.cxx:839
 AliRsnMiniAnalysisTask.cxx:840
 AliRsnMiniAnalysisTask.cxx:841
 AliRsnMiniAnalysisTask.cxx:842
 AliRsnMiniAnalysisTask.cxx:843
 AliRsnMiniAnalysisTask.cxx:844
 AliRsnMiniAnalysisTask.cxx:845
 AliRsnMiniAnalysisTask.cxx:846
 AliRsnMiniAnalysisTask.cxx:847
 AliRsnMiniAnalysisTask.cxx:848
 AliRsnMiniAnalysisTask.cxx:849
 AliRsnMiniAnalysisTask.cxx:850
 AliRsnMiniAnalysisTask.cxx:851
 AliRsnMiniAnalysisTask.cxx:852
 AliRsnMiniAnalysisTask.cxx:853
 AliRsnMiniAnalysisTask.cxx:854
 AliRsnMiniAnalysisTask.cxx:855
 AliRsnMiniAnalysisTask.cxx:856
 AliRsnMiniAnalysisTask.cxx:857
 AliRsnMiniAnalysisTask.cxx:858
 AliRsnMiniAnalysisTask.cxx:859
 AliRsnMiniAnalysisTask.cxx:860
 AliRsnMiniAnalysisTask.cxx:861
 AliRsnMiniAnalysisTask.cxx:862
 AliRsnMiniAnalysisTask.cxx:863
 AliRsnMiniAnalysisTask.cxx:864
 AliRsnMiniAnalysisTask.cxx:865
 AliRsnMiniAnalysisTask.cxx:866
 AliRsnMiniAnalysisTask.cxx:867
 AliRsnMiniAnalysisTask.cxx:868
 AliRsnMiniAnalysisTask.cxx:869
 AliRsnMiniAnalysisTask.cxx:870
 AliRsnMiniAnalysisTask.cxx:871
 AliRsnMiniAnalysisTask.cxx:872
 AliRsnMiniAnalysisTask.cxx:873
 AliRsnMiniAnalysisTask.cxx:874
 AliRsnMiniAnalysisTask.cxx:875
 AliRsnMiniAnalysisTask.cxx:876
 AliRsnMiniAnalysisTask.cxx:877
 AliRsnMiniAnalysisTask.cxx:878
 AliRsnMiniAnalysisTask.cxx:879
 AliRsnMiniAnalysisTask.cxx:880
 AliRsnMiniAnalysisTask.cxx:881
 AliRsnMiniAnalysisTask.cxx:882
 AliRsnMiniAnalysisTask.cxx:883
 AliRsnMiniAnalysisTask.cxx:884
 AliRsnMiniAnalysisTask.cxx:885
 AliRsnMiniAnalysisTask.cxx:886
 AliRsnMiniAnalysisTask.cxx:887
 AliRsnMiniAnalysisTask.cxx:888
 AliRsnMiniAnalysisTask.cxx:889
 AliRsnMiniAnalysisTask.cxx:890
 AliRsnMiniAnalysisTask.cxx:891
 AliRsnMiniAnalysisTask.cxx:892
 AliRsnMiniAnalysisTask.cxx:893
 AliRsnMiniAnalysisTask.cxx:894
 AliRsnMiniAnalysisTask.cxx:895
 AliRsnMiniAnalysisTask.cxx:896
 AliRsnMiniAnalysisTask.cxx:897
 AliRsnMiniAnalysisTask.cxx:898
 AliRsnMiniAnalysisTask.cxx:899
 AliRsnMiniAnalysisTask.cxx:900
 AliRsnMiniAnalysisTask.cxx:901
 AliRsnMiniAnalysisTask.cxx:902
 AliRsnMiniAnalysisTask.cxx:903
 AliRsnMiniAnalysisTask.cxx:904
 AliRsnMiniAnalysisTask.cxx:905
 AliRsnMiniAnalysisTask.cxx:906
 AliRsnMiniAnalysisTask.cxx:907
 AliRsnMiniAnalysisTask.cxx:908
 AliRsnMiniAnalysisTask.cxx:909
 AliRsnMiniAnalysisTask.cxx:910
 AliRsnMiniAnalysisTask.cxx:911
 AliRsnMiniAnalysisTask.cxx:912
 AliRsnMiniAnalysisTask.cxx:913
 AliRsnMiniAnalysisTask.cxx:914
 AliRsnMiniAnalysisTask.cxx:915
 AliRsnMiniAnalysisTask.cxx:916
 AliRsnMiniAnalysisTask.cxx:917
 AliRsnMiniAnalysisTask.cxx:918
 AliRsnMiniAnalysisTask.cxx:919
 AliRsnMiniAnalysisTask.cxx:920
 AliRsnMiniAnalysisTask.cxx:921
 AliRsnMiniAnalysisTask.cxx:922
 AliRsnMiniAnalysisTask.cxx:923
 AliRsnMiniAnalysisTask.cxx:924
 AliRsnMiniAnalysisTask.cxx:925
 AliRsnMiniAnalysisTask.cxx:926
 AliRsnMiniAnalysisTask.cxx:927
 AliRsnMiniAnalysisTask.cxx:928
 AliRsnMiniAnalysisTask.cxx:929
 AliRsnMiniAnalysisTask.cxx:930
 AliRsnMiniAnalysisTask.cxx:931
 AliRsnMiniAnalysisTask.cxx:932
 AliRsnMiniAnalysisTask.cxx:933
 AliRsnMiniAnalysisTask.cxx:934
 AliRsnMiniAnalysisTask.cxx:935
 AliRsnMiniAnalysisTask.cxx:936
 AliRsnMiniAnalysisTask.cxx:937
 AliRsnMiniAnalysisTask.cxx:938
 AliRsnMiniAnalysisTask.cxx:939
 AliRsnMiniAnalysisTask.cxx:940
 AliRsnMiniAnalysisTask.cxx:941
 AliRsnMiniAnalysisTask.cxx:942
 AliRsnMiniAnalysisTask.cxx:943
 AliRsnMiniAnalysisTask.cxx:944
 AliRsnMiniAnalysisTask.cxx:945
 AliRsnMiniAnalysisTask.cxx:946
 AliRsnMiniAnalysisTask.cxx:947
 AliRsnMiniAnalysisTask.cxx:948
 AliRsnMiniAnalysisTask.cxx:949
 AliRsnMiniAnalysisTask.cxx:950
 AliRsnMiniAnalysisTask.cxx:951
 AliRsnMiniAnalysisTask.cxx:952
 AliRsnMiniAnalysisTask.cxx:953
 AliRsnMiniAnalysisTask.cxx:954
 AliRsnMiniAnalysisTask.cxx:955
 AliRsnMiniAnalysisTask.cxx:956
 AliRsnMiniAnalysisTask.cxx:957
 AliRsnMiniAnalysisTask.cxx:958
 AliRsnMiniAnalysisTask.cxx:959
 AliRsnMiniAnalysisTask.cxx:960
 AliRsnMiniAnalysisTask.cxx:961
 AliRsnMiniAnalysisTask.cxx:962
 AliRsnMiniAnalysisTask.cxx:963
 AliRsnMiniAnalysisTask.cxx:964
 AliRsnMiniAnalysisTask.cxx:965
 AliRsnMiniAnalysisTask.cxx:966
 AliRsnMiniAnalysisTask.cxx:967
 AliRsnMiniAnalysisTask.cxx:968
 AliRsnMiniAnalysisTask.cxx:969
 AliRsnMiniAnalysisTask.cxx:970
 AliRsnMiniAnalysisTask.cxx:971
 AliRsnMiniAnalysisTask.cxx:972
 AliRsnMiniAnalysisTask.cxx:973
 AliRsnMiniAnalysisTask.cxx:974
 AliRsnMiniAnalysisTask.cxx:975
 AliRsnMiniAnalysisTask.cxx:976
 AliRsnMiniAnalysisTask.cxx:977
 AliRsnMiniAnalysisTask.cxx:978
 AliRsnMiniAnalysisTask.cxx:979
 AliRsnMiniAnalysisTask.cxx:980
 AliRsnMiniAnalysisTask.cxx:981
 AliRsnMiniAnalysisTask.cxx:982
 AliRsnMiniAnalysisTask.cxx:983
 AliRsnMiniAnalysisTask.cxx:984
 AliRsnMiniAnalysisTask.cxx:985
 AliRsnMiniAnalysisTask.cxx:986
 AliRsnMiniAnalysisTask.cxx:987
 AliRsnMiniAnalysisTask.cxx:988
 AliRsnMiniAnalysisTask.cxx:989
 AliRsnMiniAnalysisTask.cxx:990
 AliRsnMiniAnalysisTask.cxx:991
 AliRsnMiniAnalysisTask.cxx:992
 AliRsnMiniAnalysisTask.cxx:993
 AliRsnMiniAnalysisTask.cxx:994
 AliRsnMiniAnalysisTask.cxx:995
 AliRsnMiniAnalysisTask.cxx:996
 AliRsnMiniAnalysisTask.cxx:997
 AliRsnMiniAnalysisTask.cxx:998
 AliRsnMiniAnalysisTask.cxx:999
 AliRsnMiniAnalysisTask.cxx:1000
 AliRsnMiniAnalysisTask.cxx:1001
 AliRsnMiniAnalysisTask.cxx:1002
 AliRsnMiniAnalysisTask.cxx:1003
 AliRsnMiniAnalysisTask.cxx:1004
 AliRsnMiniAnalysisTask.cxx:1005
 AliRsnMiniAnalysisTask.cxx:1006
 AliRsnMiniAnalysisTask.cxx:1007
 AliRsnMiniAnalysisTask.cxx:1008
 AliRsnMiniAnalysisTask.cxx:1009
 AliRsnMiniAnalysisTask.cxx:1010
 AliRsnMiniAnalysisTask.cxx:1011
 AliRsnMiniAnalysisTask.cxx:1012
 AliRsnMiniAnalysisTask.cxx:1013
 AliRsnMiniAnalysisTask.cxx:1014
 AliRsnMiniAnalysisTask.cxx:1015
 AliRsnMiniAnalysisTask.cxx:1016
 AliRsnMiniAnalysisTask.cxx:1017
 AliRsnMiniAnalysisTask.cxx:1018
 AliRsnMiniAnalysisTask.cxx:1019
 AliRsnMiniAnalysisTask.cxx:1020
 AliRsnMiniAnalysisTask.cxx:1021
 AliRsnMiniAnalysisTask.cxx:1022
 AliRsnMiniAnalysisTask.cxx:1023
 AliRsnMiniAnalysisTask.cxx:1024
 AliRsnMiniAnalysisTask.cxx:1025
 AliRsnMiniAnalysisTask.cxx:1026
 AliRsnMiniAnalysisTask.cxx:1027
 AliRsnMiniAnalysisTask.cxx:1028
 AliRsnMiniAnalysisTask.cxx:1029
 AliRsnMiniAnalysisTask.cxx:1030
 AliRsnMiniAnalysisTask.cxx:1031
 AliRsnMiniAnalysisTask.cxx:1032
 AliRsnMiniAnalysisTask.cxx:1033
 AliRsnMiniAnalysisTask.cxx:1034
 AliRsnMiniAnalysisTask.cxx:1035
 AliRsnMiniAnalysisTask.cxx:1036
 AliRsnMiniAnalysisTask.cxx:1037
 AliRsnMiniAnalysisTask.cxx:1038
 AliRsnMiniAnalysisTask.cxx:1039
 AliRsnMiniAnalysisTask.cxx:1040
 AliRsnMiniAnalysisTask.cxx:1041
 AliRsnMiniAnalysisTask.cxx:1042
 AliRsnMiniAnalysisTask.cxx:1043
 AliRsnMiniAnalysisTask.cxx:1044
 AliRsnMiniAnalysisTask.cxx:1045
 AliRsnMiniAnalysisTask.cxx:1046
 AliRsnMiniAnalysisTask.cxx:1047
 AliRsnMiniAnalysisTask.cxx:1048
 AliRsnMiniAnalysisTask.cxx:1049
 AliRsnMiniAnalysisTask.cxx:1050
 AliRsnMiniAnalysisTask.cxx:1051
 AliRsnMiniAnalysisTask.cxx:1052
 AliRsnMiniAnalysisTask.cxx:1053
 AliRsnMiniAnalysisTask.cxx:1054
 AliRsnMiniAnalysisTask.cxx:1055
 AliRsnMiniAnalysisTask.cxx:1056
 AliRsnMiniAnalysisTask.cxx:1057
 AliRsnMiniAnalysisTask.cxx:1058
 AliRsnMiniAnalysisTask.cxx:1059
 AliRsnMiniAnalysisTask.cxx:1060
 AliRsnMiniAnalysisTask.cxx:1061
 AliRsnMiniAnalysisTask.cxx:1062
 AliRsnMiniAnalysisTask.cxx:1063
 AliRsnMiniAnalysisTask.cxx:1064
 AliRsnMiniAnalysisTask.cxx:1065
 AliRsnMiniAnalysisTask.cxx:1066
 AliRsnMiniAnalysisTask.cxx:1067
 AliRsnMiniAnalysisTask.cxx:1068
 AliRsnMiniAnalysisTask.cxx:1069
 AliRsnMiniAnalysisTask.cxx:1070
 AliRsnMiniAnalysisTask.cxx:1071
 AliRsnMiniAnalysisTask.cxx:1072
 AliRsnMiniAnalysisTask.cxx:1073
 AliRsnMiniAnalysisTask.cxx:1074
 AliRsnMiniAnalysisTask.cxx:1075
 AliRsnMiniAnalysisTask.cxx:1076
 AliRsnMiniAnalysisTask.cxx:1077
 AliRsnMiniAnalysisTask.cxx:1078
 AliRsnMiniAnalysisTask.cxx:1079
 AliRsnMiniAnalysisTask.cxx:1080
 AliRsnMiniAnalysisTask.cxx:1081
 AliRsnMiniAnalysisTask.cxx:1082
 AliRsnMiniAnalysisTask.cxx:1083
 AliRsnMiniAnalysisTask.cxx:1084
 AliRsnMiniAnalysisTask.cxx:1085
 AliRsnMiniAnalysisTask.cxx:1086
 AliRsnMiniAnalysisTask.cxx:1087
 AliRsnMiniAnalysisTask.cxx:1088
 AliRsnMiniAnalysisTask.cxx:1089
 AliRsnMiniAnalysisTask.cxx:1090
 AliRsnMiniAnalysisTask.cxx:1091
 AliRsnMiniAnalysisTask.cxx:1092
 AliRsnMiniAnalysisTask.cxx:1093
 AliRsnMiniAnalysisTask.cxx:1094
 AliRsnMiniAnalysisTask.cxx:1095
 AliRsnMiniAnalysisTask.cxx:1096
 AliRsnMiniAnalysisTask.cxx:1097
 AliRsnMiniAnalysisTask.cxx:1098
 AliRsnMiniAnalysisTask.cxx:1099
 AliRsnMiniAnalysisTask.cxx:1100
 AliRsnMiniAnalysisTask.cxx:1101
 AliRsnMiniAnalysisTask.cxx:1102
 AliRsnMiniAnalysisTask.cxx:1103
 AliRsnMiniAnalysisTask.cxx:1104
 AliRsnMiniAnalysisTask.cxx:1105
 AliRsnMiniAnalysisTask.cxx:1106
 AliRsnMiniAnalysisTask.cxx:1107
 AliRsnMiniAnalysisTask.cxx:1108
 AliRsnMiniAnalysisTask.cxx:1109
 AliRsnMiniAnalysisTask.cxx:1110
 AliRsnMiniAnalysisTask.cxx:1111
 AliRsnMiniAnalysisTask.cxx:1112
 AliRsnMiniAnalysisTask.cxx:1113
 AliRsnMiniAnalysisTask.cxx:1114
 AliRsnMiniAnalysisTask.cxx:1115
 AliRsnMiniAnalysisTask.cxx:1116
 AliRsnMiniAnalysisTask.cxx:1117
 AliRsnMiniAnalysisTask.cxx:1118
 AliRsnMiniAnalysisTask.cxx:1119
 AliRsnMiniAnalysisTask.cxx:1120
 AliRsnMiniAnalysisTask.cxx:1121
 AliRsnMiniAnalysisTask.cxx:1122
 AliRsnMiniAnalysisTask.cxx:1123
 AliRsnMiniAnalysisTask.cxx:1124
 AliRsnMiniAnalysisTask.cxx:1125
 AliRsnMiniAnalysisTask.cxx:1126
 AliRsnMiniAnalysisTask.cxx:1127
 AliRsnMiniAnalysisTask.cxx:1128
 AliRsnMiniAnalysisTask.cxx:1129
 AliRsnMiniAnalysisTask.cxx:1130
 AliRsnMiniAnalysisTask.cxx:1131
 AliRsnMiniAnalysisTask.cxx:1132
 AliRsnMiniAnalysisTask.cxx:1133
 AliRsnMiniAnalysisTask.cxx:1134
 AliRsnMiniAnalysisTask.cxx:1135
 AliRsnMiniAnalysisTask.cxx:1136
 AliRsnMiniAnalysisTask.cxx:1137
 AliRsnMiniAnalysisTask.cxx:1138
 AliRsnMiniAnalysisTask.cxx:1139
 AliRsnMiniAnalysisTask.cxx:1140
 AliRsnMiniAnalysisTask.cxx:1141
 AliRsnMiniAnalysisTask.cxx:1142
 AliRsnMiniAnalysisTask.cxx:1143
 AliRsnMiniAnalysisTask.cxx:1144
 AliRsnMiniAnalysisTask.cxx:1145
 AliRsnMiniAnalysisTask.cxx:1146
 AliRsnMiniAnalysisTask.cxx:1147
 AliRsnMiniAnalysisTask.cxx:1148
 AliRsnMiniAnalysisTask.cxx:1149
 AliRsnMiniAnalysisTask.cxx:1150
 AliRsnMiniAnalysisTask.cxx:1151
 AliRsnMiniAnalysisTask.cxx:1152
 AliRsnMiniAnalysisTask.cxx:1153
 AliRsnMiniAnalysisTask.cxx:1154
 AliRsnMiniAnalysisTask.cxx:1155
 AliRsnMiniAnalysisTask.cxx:1156
 AliRsnMiniAnalysisTask.cxx:1157
 AliRsnMiniAnalysisTask.cxx:1158
 AliRsnMiniAnalysisTask.cxx:1159
 AliRsnMiniAnalysisTask.cxx:1160
 AliRsnMiniAnalysisTask.cxx:1161
 AliRsnMiniAnalysisTask.cxx:1162
 AliRsnMiniAnalysisTask.cxx:1163
 AliRsnMiniAnalysisTask.cxx:1164
 AliRsnMiniAnalysisTask.cxx:1165
 AliRsnMiniAnalysisTask.cxx:1166
 AliRsnMiniAnalysisTask.cxx:1167
 AliRsnMiniAnalysisTask.cxx:1168
 AliRsnMiniAnalysisTask.cxx:1169
 AliRsnMiniAnalysisTask.cxx:1170
 AliRsnMiniAnalysisTask.cxx:1171
 AliRsnMiniAnalysisTask.cxx:1172
 AliRsnMiniAnalysisTask.cxx:1173
 AliRsnMiniAnalysisTask.cxx:1174
 AliRsnMiniAnalysisTask.cxx:1175
 AliRsnMiniAnalysisTask.cxx:1176
 AliRsnMiniAnalysisTask.cxx:1177
 AliRsnMiniAnalysisTask.cxx:1178
 AliRsnMiniAnalysisTask.cxx:1179
 AliRsnMiniAnalysisTask.cxx:1180
 AliRsnMiniAnalysisTask.cxx:1181
 AliRsnMiniAnalysisTask.cxx:1182
 AliRsnMiniAnalysisTask.cxx:1183
 AliRsnMiniAnalysisTask.cxx:1184
 AliRsnMiniAnalysisTask.cxx:1185
 AliRsnMiniAnalysisTask.cxx:1186
 AliRsnMiniAnalysisTask.cxx:1187
 AliRsnMiniAnalysisTask.cxx:1188
 AliRsnMiniAnalysisTask.cxx:1189
 AliRsnMiniAnalysisTask.cxx:1190
 AliRsnMiniAnalysisTask.cxx:1191
 AliRsnMiniAnalysisTask.cxx:1192
 AliRsnMiniAnalysisTask.cxx:1193
 AliRsnMiniAnalysisTask.cxx:1194
 AliRsnMiniAnalysisTask.cxx:1195
 AliRsnMiniAnalysisTask.cxx:1196
 AliRsnMiniAnalysisTask.cxx:1197
 AliRsnMiniAnalysisTask.cxx:1198
 AliRsnMiniAnalysisTask.cxx:1199
 AliRsnMiniAnalysisTask.cxx:1200
 AliRsnMiniAnalysisTask.cxx:1201
 AliRsnMiniAnalysisTask.cxx:1202
 AliRsnMiniAnalysisTask.cxx:1203
 AliRsnMiniAnalysisTask.cxx:1204
 AliRsnMiniAnalysisTask.cxx:1205
 AliRsnMiniAnalysisTask.cxx:1206
 AliRsnMiniAnalysisTask.cxx:1207
 AliRsnMiniAnalysisTask.cxx:1208
 AliRsnMiniAnalysisTask.cxx:1209
 AliRsnMiniAnalysisTask.cxx:1210
 AliRsnMiniAnalysisTask.cxx:1211
 AliRsnMiniAnalysisTask.cxx:1212
 AliRsnMiniAnalysisTask.cxx:1213
 AliRsnMiniAnalysisTask.cxx:1214
 AliRsnMiniAnalysisTask.cxx:1215
 AliRsnMiniAnalysisTask.cxx:1216
 AliRsnMiniAnalysisTask.cxx:1217
 AliRsnMiniAnalysisTask.cxx:1218
 AliRsnMiniAnalysisTask.cxx:1219
 AliRsnMiniAnalysisTask.cxx:1220
 AliRsnMiniAnalysisTask.cxx:1221
 AliRsnMiniAnalysisTask.cxx:1222
 AliRsnMiniAnalysisTask.cxx:1223
 AliRsnMiniAnalysisTask.cxx:1224
 AliRsnMiniAnalysisTask.cxx:1225
 AliRsnMiniAnalysisTask.cxx:1226
 AliRsnMiniAnalysisTask.cxx:1227
 AliRsnMiniAnalysisTask.cxx:1228
 AliRsnMiniAnalysisTask.cxx:1229
 AliRsnMiniAnalysisTask.cxx:1230
 AliRsnMiniAnalysisTask.cxx:1231
 AliRsnMiniAnalysisTask.cxx:1232
 AliRsnMiniAnalysisTask.cxx:1233
 AliRsnMiniAnalysisTask.cxx:1234
 AliRsnMiniAnalysisTask.cxx:1235
 AliRsnMiniAnalysisTask.cxx:1236
 AliRsnMiniAnalysisTask.cxx:1237
 AliRsnMiniAnalysisTask.cxx:1238
 AliRsnMiniAnalysisTask.cxx:1239
 AliRsnMiniAnalysisTask.cxx:1240
 AliRsnMiniAnalysisTask.cxx:1241
 AliRsnMiniAnalysisTask.cxx:1242
 AliRsnMiniAnalysisTask.cxx:1243
 AliRsnMiniAnalysisTask.cxx:1244
 AliRsnMiniAnalysisTask.cxx:1245
 AliRsnMiniAnalysisTask.cxx:1246
 AliRsnMiniAnalysisTask.cxx:1247
 AliRsnMiniAnalysisTask.cxx:1248
 AliRsnMiniAnalysisTask.cxx:1249
 AliRsnMiniAnalysisTask.cxx:1250
 AliRsnMiniAnalysisTask.cxx:1251
 AliRsnMiniAnalysisTask.cxx:1252
 AliRsnMiniAnalysisTask.cxx:1253
 AliRsnMiniAnalysisTask.cxx:1254
 AliRsnMiniAnalysisTask.cxx:1255
 AliRsnMiniAnalysisTask.cxx:1256
 AliRsnMiniAnalysisTask.cxx:1257
 AliRsnMiniAnalysisTask.cxx:1258
 AliRsnMiniAnalysisTask.cxx:1259
 AliRsnMiniAnalysisTask.cxx:1260
 AliRsnMiniAnalysisTask.cxx:1261
 AliRsnMiniAnalysisTask.cxx:1262
 AliRsnMiniAnalysisTask.cxx:1263
 AliRsnMiniAnalysisTask.cxx:1264
 AliRsnMiniAnalysisTask.cxx:1265
 AliRsnMiniAnalysisTask.cxx:1266
 AliRsnMiniAnalysisTask.cxx:1267
 AliRsnMiniAnalysisTask.cxx:1268
 AliRsnMiniAnalysisTask.cxx:1269
 AliRsnMiniAnalysisTask.cxx:1270
 AliRsnMiniAnalysisTask.cxx:1271
 AliRsnMiniAnalysisTask.cxx:1272
 AliRsnMiniAnalysisTask.cxx:1273
 AliRsnMiniAnalysisTask.cxx:1274
 AliRsnMiniAnalysisTask.cxx:1275
 AliRsnMiniAnalysisTask.cxx:1276
 AliRsnMiniAnalysisTask.cxx:1277
 AliRsnMiniAnalysisTask.cxx:1278
 AliRsnMiniAnalysisTask.cxx:1279
 AliRsnMiniAnalysisTask.cxx:1280
 AliRsnMiniAnalysisTask.cxx:1281
 AliRsnMiniAnalysisTask.cxx:1282
 AliRsnMiniAnalysisTask.cxx:1283
 AliRsnMiniAnalysisTask.cxx:1284
 AliRsnMiniAnalysisTask.cxx:1285
 AliRsnMiniAnalysisTask.cxx:1286
 AliRsnMiniAnalysisTask.cxx:1287
 AliRsnMiniAnalysisTask.cxx:1288
 AliRsnMiniAnalysisTask.cxx:1289
 AliRsnMiniAnalysisTask.cxx:1290
 AliRsnMiniAnalysisTask.cxx:1291
 AliRsnMiniAnalysisTask.cxx:1292
 AliRsnMiniAnalysisTask.cxx:1293
 AliRsnMiniAnalysisTask.cxx:1294
 AliRsnMiniAnalysisTask.cxx:1295
 AliRsnMiniAnalysisTask.cxx:1296
 AliRsnMiniAnalysisTask.cxx:1297
 AliRsnMiniAnalysisTask.cxx:1298
 AliRsnMiniAnalysisTask.cxx:1299
 AliRsnMiniAnalysisTask.cxx:1300
 AliRsnMiniAnalysisTask.cxx:1301
 AliRsnMiniAnalysisTask.cxx:1302
 AliRsnMiniAnalysisTask.cxx:1303
 AliRsnMiniAnalysisTask.cxx:1304
 AliRsnMiniAnalysisTask.cxx:1305
 AliRsnMiniAnalysisTask.cxx:1306
 AliRsnMiniAnalysisTask.cxx:1307
 AliRsnMiniAnalysisTask.cxx:1308
 AliRsnMiniAnalysisTask.cxx:1309
 AliRsnMiniAnalysisTask.cxx:1310
 AliRsnMiniAnalysisTask.cxx:1311
 AliRsnMiniAnalysisTask.cxx:1312
 AliRsnMiniAnalysisTask.cxx:1313
 AliRsnMiniAnalysisTask.cxx:1314
 AliRsnMiniAnalysisTask.cxx:1315
 AliRsnMiniAnalysisTask.cxx:1316
 AliRsnMiniAnalysisTask.cxx:1317
 AliRsnMiniAnalysisTask.cxx:1318
 AliRsnMiniAnalysisTask.cxx:1319
 AliRsnMiniAnalysisTask.cxx:1320
 AliRsnMiniAnalysisTask.cxx:1321
 AliRsnMiniAnalysisTask.cxx:1322
 AliRsnMiniAnalysisTask.cxx:1323
 AliRsnMiniAnalysisTask.cxx:1324
 AliRsnMiniAnalysisTask.cxx:1325
 AliRsnMiniAnalysisTask.cxx:1326
 AliRsnMiniAnalysisTask.cxx:1327
 AliRsnMiniAnalysisTask.cxx:1328
 AliRsnMiniAnalysisTask.cxx:1329
 AliRsnMiniAnalysisTask.cxx:1330
 AliRsnMiniAnalysisTask.cxx:1331
 AliRsnMiniAnalysisTask.cxx:1332
 AliRsnMiniAnalysisTask.cxx:1333
 AliRsnMiniAnalysisTask.cxx:1334
 AliRsnMiniAnalysisTask.cxx:1335
 AliRsnMiniAnalysisTask.cxx:1336
 AliRsnMiniAnalysisTask.cxx:1337
 AliRsnMiniAnalysisTask.cxx:1338
 AliRsnMiniAnalysisTask.cxx:1339
 AliRsnMiniAnalysisTask.cxx:1340
 AliRsnMiniAnalysisTask.cxx:1341
 AliRsnMiniAnalysisTask.cxx:1342
 AliRsnMiniAnalysisTask.cxx:1343
 AliRsnMiniAnalysisTask.cxx:1344
 AliRsnMiniAnalysisTask.cxx:1345
 AliRsnMiniAnalysisTask.cxx:1346
 AliRsnMiniAnalysisTask.cxx:1347
 AliRsnMiniAnalysisTask.cxx:1348
 AliRsnMiniAnalysisTask.cxx:1349
 AliRsnMiniAnalysisTask.cxx:1350
 AliRsnMiniAnalysisTask.cxx:1351
 AliRsnMiniAnalysisTask.cxx:1352
 AliRsnMiniAnalysisTask.cxx:1353
 AliRsnMiniAnalysisTask.cxx:1354
 AliRsnMiniAnalysisTask.cxx:1355
 AliRsnMiniAnalysisTask.cxx:1356
 AliRsnMiniAnalysisTask.cxx:1357
 AliRsnMiniAnalysisTask.cxx:1358
 AliRsnMiniAnalysisTask.cxx:1359
 AliRsnMiniAnalysisTask.cxx:1360
 AliRsnMiniAnalysisTask.cxx:1361
 AliRsnMiniAnalysisTask.cxx:1362
 AliRsnMiniAnalysisTask.cxx:1363
 AliRsnMiniAnalysisTask.cxx:1364
 AliRsnMiniAnalysisTask.cxx:1365
 AliRsnMiniAnalysisTask.cxx:1366
 AliRsnMiniAnalysisTask.cxx:1367
 AliRsnMiniAnalysisTask.cxx:1368
 AliRsnMiniAnalysisTask.cxx:1369
 AliRsnMiniAnalysisTask.cxx:1370
 AliRsnMiniAnalysisTask.cxx:1371
 AliRsnMiniAnalysisTask.cxx:1372
 AliRsnMiniAnalysisTask.cxx:1373
 AliRsnMiniAnalysisTask.cxx:1374
 AliRsnMiniAnalysisTask.cxx:1375
 AliRsnMiniAnalysisTask.cxx:1376
 AliRsnMiniAnalysisTask.cxx:1377
 AliRsnMiniAnalysisTask.cxx:1378
 AliRsnMiniAnalysisTask.cxx:1379
 AliRsnMiniAnalysisTask.cxx:1380
 AliRsnMiniAnalysisTask.cxx:1381
 AliRsnMiniAnalysisTask.cxx:1382
 AliRsnMiniAnalysisTask.cxx:1383
 AliRsnMiniAnalysisTask.cxx:1384
 AliRsnMiniAnalysisTask.cxx:1385
 AliRsnMiniAnalysisTask.cxx:1386
 AliRsnMiniAnalysisTask.cxx:1387
 AliRsnMiniAnalysisTask.cxx:1388
 AliRsnMiniAnalysisTask.cxx:1389
 AliRsnMiniAnalysisTask.cxx:1390
 AliRsnMiniAnalysisTask.cxx:1391
 AliRsnMiniAnalysisTask.cxx:1392
 AliRsnMiniAnalysisTask.cxx:1393
 AliRsnMiniAnalysisTask.cxx:1394
 AliRsnMiniAnalysisTask.cxx:1395
 AliRsnMiniAnalysisTask.cxx:1396
 AliRsnMiniAnalysisTask.cxx:1397
 AliRsnMiniAnalysisTask.cxx:1398
 AliRsnMiniAnalysisTask.cxx:1399
 AliRsnMiniAnalysisTask.cxx:1400
 AliRsnMiniAnalysisTask.cxx:1401
 AliRsnMiniAnalysisTask.cxx:1402
 AliRsnMiniAnalysisTask.cxx:1403
 AliRsnMiniAnalysisTask.cxx:1404
 AliRsnMiniAnalysisTask.cxx:1405
 AliRsnMiniAnalysisTask.cxx:1406
 AliRsnMiniAnalysisTask.cxx:1407
 AliRsnMiniAnalysisTask.cxx:1408
 AliRsnMiniAnalysisTask.cxx:1409
 AliRsnMiniAnalysisTask.cxx:1410
 AliRsnMiniAnalysisTask.cxx:1411
 AliRsnMiniAnalysisTask.cxx:1412
 AliRsnMiniAnalysisTask.cxx:1413
 AliRsnMiniAnalysisTask.cxx:1414
 AliRsnMiniAnalysisTask.cxx:1415
 AliRsnMiniAnalysisTask.cxx:1416
 AliRsnMiniAnalysisTask.cxx:1417
 AliRsnMiniAnalysisTask.cxx:1418
 AliRsnMiniAnalysisTask.cxx:1419
 AliRsnMiniAnalysisTask.cxx:1420
 AliRsnMiniAnalysisTask.cxx:1421
 AliRsnMiniAnalysisTask.cxx:1422
 AliRsnMiniAnalysisTask.cxx:1423
 AliRsnMiniAnalysisTask.cxx:1424
 AliRsnMiniAnalysisTask.cxx:1425
 AliRsnMiniAnalysisTask.cxx:1426
 AliRsnMiniAnalysisTask.cxx:1427
 AliRsnMiniAnalysisTask.cxx:1428
 AliRsnMiniAnalysisTask.cxx:1429
 AliRsnMiniAnalysisTask.cxx:1430
 AliRsnMiniAnalysisTask.cxx:1431
 AliRsnMiniAnalysisTask.cxx:1432
 AliRsnMiniAnalysisTask.cxx:1433
 AliRsnMiniAnalysisTask.cxx:1434
 AliRsnMiniAnalysisTask.cxx:1435
 AliRsnMiniAnalysisTask.cxx:1436
 AliRsnMiniAnalysisTask.cxx:1437
 AliRsnMiniAnalysisTask.cxx:1438
 AliRsnMiniAnalysisTask.cxx:1439
 AliRsnMiniAnalysisTask.cxx:1440
 AliRsnMiniAnalysisTask.cxx:1441
 AliRsnMiniAnalysisTask.cxx:1442
 AliRsnMiniAnalysisTask.cxx:1443
 AliRsnMiniAnalysisTask.cxx:1444
 AliRsnMiniAnalysisTask.cxx:1445
 AliRsnMiniAnalysisTask.cxx:1446
 AliRsnMiniAnalysisTask.cxx:1447
 AliRsnMiniAnalysisTask.cxx:1448
 AliRsnMiniAnalysisTask.cxx:1449
 AliRsnMiniAnalysisTask.cxx:1450
 AliRsnMiniAnalysisTask.cxx:1451
 AliRsnMiniAnalysisTask.cxx:1452
 AliRsnMiniAnalysisTask.cxx:1453
 AliRsnMiniAnalysisTask.cxx:1454
 AliRsnMiniAnalysisTask.cxx:1455
 AliRsnMiniAnalysisTask.cxx:1456
 AliRsnMiniAnalysisTask.cxx:1457
 AliRsnMiniAnalysisTask.cxx:1458
 AliRsnMiniAnalysisTask.cxx:1459
 AliRsnMiniAnalysisTask.cxx:1460
 AliRsnMiniAnalysisTask.cxx:1461
 AliRsnMiniAnalysisTask.cxx:1462
 AliRsnMiniAnalysisTask.cxx:1463
 AliRsnMiniAnalysisTask.cxx:1464
 AliRsnMiniAnalysisTask.cxx:1465
 AliRsnMiniAnalysisTask.cxx:1466
 AliRsnMiniAnalysisTask.cxx:1467
 AliRsnMiniAnalysisTask.cxx:1468
 AliRsnMiniAnalysisTask.cxx:1469
 AliRsnMiniAnalysisTask.cxx:1470
 AliRsnMiniAnalysisTask.cxx:1471
 AliRsnMiniAnalysisTask.cxx:1472
 AliRsnMiniAnalysisTask.cxx:1473
 AliRsnMiniAnalysisTask.cxx:1474
 AliRsnMiniAnalysisTask.cxx:1475
 AliRsnMiniAnalysisTask.cxx:1476
 AliRsnMiniAnalysisTask.cxx:1477
 AliRsnMiniAnalysisTask.cxx:1478
 AliRsnMiniAnalysisTask.cxx:1479
 AliRsnMiniAnalysisTask.cxx:1480
 AliRsnMiniAnalysisTask.cxx:1481
 AliRsnMiniAnalysisTask.cxx:1482
 AliRsnMiniAnalysisTask.cxx:1483
 AliRsnMiniAnalysisTask.cxx:1484
 AliRsnMiniAnalysisTask.cxx:1485
 AliRsnMiniAnalysisTask.cxx:1486
 AliRsnMiniAnalysisTask.cxx:1487
 AliRsnMiniAnalysisTask.cxx:1488
 AliRsnMiniAnalysisTask.cxx:1489
 AliRsnMiniAnalysisTask.cxx:1490
 AliRsnMiniAnalysisTask.cxx:1491
 AliRsnMiniAnalysisTask.cxx:1492
 AliRsnMiniAnalysisTask.cxx:1493
 AliRsnMiniAnalysisTask.cxx:1494
 AliRsnMiniAnalysisTask.cxx:1495
 AliRsnMiniAnalysisTask.cxx:1496
 AliRsnMiniAnalysisTask.cxx:1497
 AliRsnMiniAnalysisTask.cxx:1498
 AliRsnMiniAnalysisTask.cxx:1499