ROOT logo
#include "AliAnalysisTaskPIDFluctuation.h"
#include "AliInputEventHandler.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliESDtrack.h"
#include "AliAODEvent.h"
#include "AliAODTrack.h"
#include "AliCentrality.h"
#include "AliPIDResponse.h"
#include "AliESDpid.h"
#include "AliAODpidUtil.h"
#include "TFile.h"
#include "TKey.h"
#include "TList.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TH3F.h"
#include "TCanvas.h"
#include "AliESDtrackCuts.h"

/* 
 * Event by event PID fluctuation analysis
 * author: Roberto Preghenella (R+)
 * email:  preghenella@bo.infn.it
 *
 */

ClassImp(AliAnalysisTaskPIDFluctuation)

//________________________________________________________________________

const Char_t *AliAnalysisTaskPIDFluctuation::fgkEventCounterName[AliAnalysisTaskPIDFluctuation::kNEventCounters] = {
  "AllEvents",
  "PhysicsSelection",
  "PrimayVertex",
  "PrimayVertexSPD",
  "VertexAccepted",
  "GoodCentrality",
  "AcceptedEvents"
};

const Char_t *AliAnalysisTaskPIDFluctuation::fgkEventCounterTitle[AliAnalysisTaskPIDFluctuation::kNEventCounters] = {
  "all events",
  "physics selection",
  "primary vertex",
  "primary vertex SPD",
  "vertex accepted",
  "good centrality",
  "accepted events"
};

const Char_t *AliAnalysisTaskPIDFluctuation::fgkSparseDataName[AliAnalysisTaskPIDFluctuation::kNSparseData] = {
  "centV0M",
  "centTRK",
  "Nch",
  "Nplus",
  "Nminus",
  "Npi",
  "Npiplus",
  "Npiminus",
  "Nka",
  "Nkaplus",
  "Nkaminus",
  "Npr",
  "Nprplus",
  "Nprminus"
};

const Char_t *AliAnalysisTaskPIDFluctuation::fgkSparseDataTitle[AliAnalysisTaskPIDFluctuation::kNSparseData] = {
  "centrality percentile (V0M)",
  "centrality percentile (TRK)",
  "N_{charged}",
  "N_{+}",
  "N_{-}",
  "N_{#pi}",
  "N_{#pi^{+}}",
  "N_{#pi^{-}}",
  "N_{K}",
  "N_{K^{+}}",
  "N_{K^{-}}",
  "N_{p+#bar{p}}",
  "N_{p}",
  "N_{#bar{p}}"
};

//________________________________________________________________________

AliAnalysisTaskPIDFluctuation::AliAnalysisTaskPIDFluctuation(const Char_t *name) : 
  AliAnalysisTaskSE(name),
  fPIDMethod(kTPCTOF),
  fESDtrackCuts(NULL),
  fAODfilterBit(AliAODTrack::kTrkGlobal),
  fEtaMin(-0.8),
  fEtaMax(0.8),
  fPtMin(0.3),
  fPtMax(1.5),
  fPID(NULL),
  fHistoList(NULL),
  fHistoEventCounter(NULL),
  fHistoAcceptedTracks(NULL),
  fHistoTOFMatchedTracks(NULL),
  fHistoTPCdEdx(NULL),
  fHistoTPCdEdx_inclusive(NULL),
  fHistoTOFbeta(NULL),
  fHistoCorrelation(NULL)
{
  
  /*
   * default constructor
   */

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

//________________________________________________________________________

AliAnalysisTaskPIDFluctuation::~AliAnalysisTaskPIDFluctuation()
{
  
  /*
   * default destructor
   */

  if (fPID) delete fPID;
  if (fHistoList) delete fHistoList;
  
}

//________________________________________________________________________

void AliAnalysisTaskPIDFluctuation::UserCreateOutputObjects() 
{
  
  /*
   * user create output objects
   */

  fHistoList = new TList();
  fHistoList->SetOwner(kTRUE);

  fHistoEventCounter = new TH1F("hHistoEventCounter", "", kNEventCounters, 0, kNEventCounters);
  for (Int_t ievc = 0; ievc < kNEventCounters; ievc++)
    fHistoEventCounter->GetXaxis()->SetBinLabel(ievc + 1, fgkEventCounterTitle[ievc]);
  fHistoList->Add(fHistoEventCounter);

  fHistoAcceptedTracks = new TH2F("hHistoAcceptedTracks", ";p_{T} (GeV/c)", 10, 0., 100., 50, 0., 5.);
  fHistoList->Add(fHistoAcceptedTracks);
  
  fHistoTOFMatchedTracks = new TH2F("hHistoTOFMatchedTracks", ";p_{T} (GeV/c)", 10, 0., 100., 50, 0., 5.);
  fHistoList->Add(fHistoTOFMatchedTracks);
  
  fHistoTPCdEdx = new TH3F("hHistoTPCdEdx", ";centrality percentile;p_{TPCin} (GeV/c);dE/dx (au.)", 10, 0., 100., 50, 0., 5., 500, 0., 500.);
  fHistoList->Add(fHistoTPCdEdx);
  
  fHistoTPCdEdx_inclusive = new TH3F("hHistoTPCdEdx_inclusive", ";centrality percentile;p_{TPCin} (GeV/c);dE/dx (au.)", 10, 0., 100., 50, 0., 5., 500, 0., 500.);
  fHistoList->Add(fHistoTPCdEdx_inclusive);
  
  fHistoTOFbeta = new TH3F(Form("hHistoTOFbeta"), ";centrality percentile;p (GeV/c);v/c", 10, 0., 100., 50, 0., 5., 500, 0.1, 1.1);
  fHistoList->Add(fHistoTOFbeta);
  
  /* loop over species */
  for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++) {
    
    fHistoTPCdEdx_selected[ipart] = new TH3F(Form("hHistoTPCdEdx_selected_%s", AliPID::ParticleName(ipart)), ";centrality percentile;p_{TPCin} (GeV/c);dE/dx (au.)", 10, 0., 100., 50, 0., 5., 500, 0., 500.);
    fHistoList->Add(fHistoTPCdEdx_selected[ipart]);
    
    fHistoTOFbeta_selected[ipart] = new TH3F(Form("hHistoTOFbeta_selected_%s", AliPID::ParticleName(ipart)), ";centrality percentile;p (GeV/c);v/c", 10, 0., 100., 50, 0., 5., 500, 0.1, 1.1);
    fHistoList->Add(fHistoTOFbeta_selected[ipart]);
    
    fHistoNSigmaTPC[ipart] = new TH3F(Form("hHistoNSigmaTPC_%s", AliPID::ParticleName(ipart)), Form(";centrality percentile;p_{T} (GeV/c); N_{#sigma-TPC}^{%s}", AliPID::ParticleLatexName(ipart)), 10, 0., 100., 50, 0., 5., 200, -10., 10.);
    fHistoList->Add(fHistoNSigmaTPC[ipart]);
    
    fHistoNSigmaTOF[ipart] = new TH3F(Form("hHistoNSigmaTOF_%s", AliPID::ParticleName(ipart)), Form(";centrality percentile;p_{T} (GeV/c); N_{#sigma-TOF}^{%s}", AliPID::ParticleLatexName(ipart)), 10, 0., 100., 50, 0., 5., 200, -10., 10.);
    fHistoList->Add(fHistoNSigmaTOF[ipart]);
    
  } /* end of loop over species */

  Int_t fgSparseDataBins[kNSparseData] = {
    20, 
    20, 
    5000, 
    2500, 
    2500,
    3000,
    1500,
    1500,
    1000,
    500,
    500,
    500,
    250,
    250
  };
  Double_t fgSparseDataMin[kNSparseData] = {
    0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.
  };
  Double_t fgSparseDataMax[kNSparseData] = {
    100., 100., 5000., 2500., 2500., 3000., 1500., 1500., 1000., 500., 500., 500., 250., 250.
  };


  fHistoCorrelation = new THnSparseI("hHistoCorrelation", "", kNSparseData, fgSparseDataBins, fgSparseDataMin, fgSparseDataMax);
  for (Int_t iaxis = 0; iaxis < kNSparseData; iaxis++)
    fHistoCorrelation->GetAxis(iaxis)->SetTitle(fgkSparseDataTitle[iaxis]);
  fHistoList->Add(fHistoCorrelation);
    
  PostData(1, fHistoList);
}

//________________________________________________________________________

void AliAnalysisTaskPIDFluctuation::UserExec(Option_t *) 
{

  /*
   * user exec
   */

  /* get ESD event */
  AliVEvent *event = InputEvent();
  if (!event) return;

  /* accept event */
  if (!AcceptEvent(event)) return;

  /* get centrality object and centrality */
  AliCentrality *centrality = event->GetCentrality();
  Float_t cent_v0m = centrality->GetCentralityPercentileUnchecked("V0M");
  Float_t cent_trk = centrality->GetCentralityPercentileUnchecked("TRK");

  /* init PID */
  if (!InitPID(event)) return;

  Bool_t pidFlag[AliPID::kSPECIES];
  Int_t icharge;
  Int_t chargedCounts[2];
  Int_t pidCounts[AliPID::kSPECIES][2];
  for (Int_t i = 0; i < 2; i++) {
    chargedCounts[i] = 0;
    for (Int_t ii = 0; ii < 5; ii++) {
      pidCounts[ii][i] = 0;
    }
  }

  /* loop over tracks */
  for (Int_t itrk = 0; itrk < event->GetNumberOfTracks(); itrk++) {

    /* get track */
    AliVTrack *track = (AliVTrack *)event->GetTrack(itrk);
    if (!track) continue;

    /* accept track */
    if (!AcceptTrack(track)) continue;

    /* get charge */
    icharge = track->Charge() > 0 ? 0 : 1;
    chargedCounts[icharge]++;

    /* make PID */
    MakePID(track, pidFlag, cent_v0m);
    for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++)
      if (pidFlag[ipart])
	pidCounts[ipart][icharge]++;
    
  }

  /* fill histogram */
  Double_t vsparse[kNSparseData];
  vsparse[kCent_V0M] = cent_v0m;
  vsparse[kCent_TRK] = cent_trk;
  vsparse[kNch] = chargedCounts[0] + chargedCounts[1];
  vsparse[kNch_plus] = chargedCounts[0];
  vsparse[kNch_minus] = chargedCounts[1];
  vsparse[kNpi] = pidCounts[AliPID::kPion][0] + pidCounts[AliPID::kPion][1];
  vsparse[kNpi_plus] = pidCounts[AliPID::kPion][0];
  vsparse[kNpi_minus] = pidCounts[AliPID::kPion][1];
  vsparse[kNka] = pidCounts[AliPID::kKaon][0] + pidCounts[AliPID::kKaon][1];
  vsparse[kNka_plus] = pidCounts[AliPID::kKaon][0];
  vsparse[kNka_minus] = pidCounts[AliPID::kKaon][1];
  vsparse[kNpr] = pidCounts[AliPID::kProton][0] + pidCounts[AliPID::kProton][1];
  vsparse[kNpr_plus] = pidCounts[AliPID::kProton][0];
  vsparse[kNpr_minus] = pidCounts[AliPID::kProton][1];
  fHistoCorrelation->Fill(vsparse);

  PostData(1, fHistoList);
}      

//___________________________________________________________

Bool_t
AliAnalysisTaskPIDFluctuation::AcceptEvent(AliVEvent *event) const
{
  /*
   * accept event
   */

  /* fill histo event counter */
  fHistoEventCounter->Fill(kAllEvents);
  
  /* check physics selection */
  if (!(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB)) return kFALSE;
  fHistoEventCounter->Fill(kPhysicsSelection);

  /* check primary vertex */
  const AliVVertex *vertex = event->GetPrimaryVertex();
  if (vertex->GetNContributors() < 1) {
    /* get ESD vertex SPD */
    if (event->InheritsFrom("AliESDEvent")) {
      AliESDEvent *esdevent = dynamic_cast<AliESDEvent *>(event);
      if (!esdevent) return kFALSE;
      vertex = esdevent->GetPrimaryVertexSPD();
    }
    /* get AOD vertex SPD */
    else if (event->InheritsFrom("AliAODEvent")) {
      AliAODEvent *aodevent = dynamic_cast<AliAODEvent *>(event);
      if (!aodevent) return kFALSE;
      vertex = aodevent->GetPrimaryVertexSPD();
    }
    if (vertex->GetNContributors() < 1) return kFALSE;
    fHistoEventCounter->Fill(kPrimaryVertexSPD);
  }
  fHistoEventCounter->Fill(kPrimaryVertex);

  /* check vertex position */
  if (TMath::Abs(vertex->GetZ()) > 10.) return kFALSE;
  fHistoEventCounter->Fill(kVertexAccepted);

  /* get centrality object and check quality */
  AliCentrality *centrality = event->GetCentrality();
  if (centrality->GetQuality() != 0) return kFALSE;
  fHistoEventCounter->Fill(kGoodCentrality);
  
  /* event accepted */
  fHistoEventCounter->Fill(kAcceptedEvents);
  return kTRUE;
}

//___________________________________________________________

Bool_t
AliAnalysisTaskPIDFluctuation::AcceptTrack(AliVTrack *track) const
{
  /*
   * accept track
   */

  /* check ESD track cuts */
  if (track->InheritsFrom("AliESDtrack")) {
    AliESDtrack *esdtrack = dynamic_cast<AliESDtrack *>(track);
    if (!esdtrack) return kFALSE;
    if (!fESDtrackCuts->AcceptTrack(esdtrack)) return kFALSE;
  }
  /* check AOD filter bit */
  else if (track->InheritsFrom("AliAODTrack")) {
    AliAODTrack *aodtrack = dynamic_cast<AliAODTrack *>(track);
    if (!aodtrack) return kFALSE;
    if (!aodtrack->TestFilterBit(fAODfilterBit)) return kFALSE;
  }

  /* check eta range */
  if (track->Eta() < fEtaMin ||
      track->Eta() > fEtaMax) return kFALSE;
  /* check pt range */
  if (track->Pt() < fPtMin ||
      track->Pt() > fPtMax) return kFALSE;

  /* track accepted */
  return kTRUE;
}

//___________________________________________________________

Bool_t
AliAnalysisTaskPIDFluctuation::HasTPCPID(AliVTrack *track) const
{
  /*
   * has TPC PID
   */
  
  /* check PID signal */
  if (track->GetTPCsignal() <= 0. ||
      track->GetTPCsignalN() == 0) return kFALSE;
  return kTRUE;
  
}
  
//___________________________________________________________

Bool_t
AliAnalysisTaskPIDFluctuation::HasTOFPID(AliVTrack *track) const
{
  /*
   * has TOF PID
   */

  /* check TOF matched track */
  if (!(track->GetStatus() & AliESDtrack::kTOFout)||
      !(track->GetStatus() & AliESDtrack::kTIME)) return kFALSE;
  return kTRUE;

}

//___________________________________________________________

Double_t
AliAnalysisTaskPIDFluctuation::MakeTPCPID(AliVTrack *track, Double_t *nSigma) const
{
  /*
   * make TPC PID
   * returns measured dEdx if PID available, otherwise -1.
   * fills nSigma array with TPC nsigmas for e, mu, pi, K, p
   */
  
  /* check TPC PID */
  if (!HasTPCPID(track)) return -1.;

  /* get TPC info */
  Double_t ptpc = track->GetTPCmomentum();
  Double_t dEdx = track->GetTPCsignal();
  Int_t dEdxN = track->GetTPCsignalN();
    
  /* loop over particles */
  for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++) {
    Double_t bethe = fPID->GetTPCResponse().GetExpectedSignal(ptpc, (AliPID::EParticleType)ipart);
    Double_t diff = dEdx - bethe;
    Double_t sigma = fPID->GetTPCResponse().GetExpectedSigma(ptpc, dEdxN, (AliPID::EParticleType)ipart);
    nSigma[ipart] = diff / sigma;
  }
  return dEdx;

}

//___________________________________________________________

Double_t
AliAnalysisTaskPIDFluctuation::MakeTOFPID(AliVTrack *track, Double_t *nSigma) const
{
  /*
   * make TOF PID
   * returns measured beta if PID available, otherwise -1.
   * fills nSigma array with TOF nsigmas for e, mu, pi, K, p
   */
  
  /* check TOF PID */
  if (!HasTOFPID(track)) return -1.;

  /* get TOF info */
  Double_t p = track->P();
  Double_t time = track->GetTOFsignal() - fPID->GetTOFResponse().GetStartTime(p);
  Double_t timei[5];
  track->GetIntegratedTimes(timei);
  
  /* loop over particles */
  for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++) {
    Double_t timez = time - timei[ipart];
    Double_t sigma = fPID->GetTOFResponse().GetExpectedSigma(p, timei[ipart], AliPID::ParticleMass(ipart));
    nSigma[ipart] = timez / sigma;
  }
  
  return timei[0] / time;

}

//___________________________________________________________

void
AliAnalysisTaskPIDFluctuation::MakePID(AliVTrack *track, Bool_t *pidFlag, Float_t centrality) const
{
  /*
   * make PID
   * fills PID QA plots
   * fills pidFlag array with PID flags for e, mu, pi, K, p
   */
  
  /* cut definitions
     (better put them as static variables so they can be changed from outside) */
  Double_t fgTPCPIDmomcut[AliPID::kSPECIES] = {0., 0., 0.5, 0.5, 0.7};
  Double_t fgTPCPIDsigmacut[AliPID::kSPECIES] = {0., 0., 2., 2., 2.};
  Double_t fgTPCPIDcompcut[AliPID::kSPECIES] = {0., 0., 3., 3., 3.};
  Double_t fgTOFPIDmomcut[AliPID::kSPECIES] = {0., 0., 1.5, 1.5, 2.0};
  Double_t fgTOFPIDsigmacut[AliPID::kSPECIES] = {0., 0., 2., 2., 2.};

  /* get momentum information */
  Double_t p = track->P();
  Double_t pt = track->Pt();
  Double_t ptpc = track->GetTPCmomentum();

  /* make pid and check if available */
  Double_t nsigmaTPC[AliPID::kSPECIES];
  Double_t nsigmaTOF[AliPID::kSPECIES];
  Double_t dEdx = MakeTPCPID(track, nsigmaTPC);
  Double_t beta = MakeTOFPID(track, nsigmaTOF);
  Bool_t hasTPCPID = dEdx > 0.;
  Bool_t hasTOFPID = beta > 0.;

  /* check PID method */
  if (fPIDMethod == kTPConly) hasTOFPID = kFALSE; // inhibit TOF PID
  if (fPIDMethod == kTOFonly) hasTPCPID = kFALSE; // inhibit TPC PID

  /* fill qa histos */
  fHistoAcceptedTracks->Fill(centrality, pt);
  if (hasTPCPID)
    fHistoTPCdEdx->Fill(centrality, ptpc, dEdx);
  if (hasTOFPID) {
    fHistoTOFMatchedTracks->Fill(centrality, pt);
    fHistoTOFbeta->Fill(centrality, p, beta);
  }
  if (hasTPCPID && !hasTOFPID)
    fHistoTPCdEdx_inclusive->Fill(centrality, ptpc, dEdx);
    
  /* loop over species */
  for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++) {
    
    /* reset PID flag */
    pidFlag[ipart] = kFALSE;
    
    /* fill qa histos */
    if (hasTPCPID)
      fHistoNSigmaTPC[ipart]->Fill(centrality, pt, nsigmaTPC[ipart]);
    if (hasTOFPID)
      fHistoNSigmaTOF[ipart]->Fill(centrality, pt, nsigmaTOF[ipart]);
    
    /* combined PID cuts */
    if (hasTPCPID && hasTOFPID) {
      if (pt < fgTOFPIDmomcut[ipart] &&
	  TMath::Abs(nsigmaTOF[ipart]) < fgTOFPIDsigmacut[ipart] &&
	  TMath::Abs(nsigmaTPC[ipart]) < fgTPCPIDcompcut[ipart]) {
	fHistoTOFbeta_selected[ipart]->Fill(centrality, p, beta);
	pidFlag[ipart] = kTRUE;
      }
    }
    /* TPC-only PID cuts */
    else if (hasTPCPID && !hasTOFPID) {
      if (pt < fgTPCPIDmomcut[ipart] &&
	  TMath::Abs(nsigmaTPC[ipart]) < fgTPCPIDsigmacut[ipart]) { 
	fHistoTPCdEdx_selected[ipart]->Fill(centrality, ptpc, dEdx);
	pidFlag[ipart] = kTRUE;
      }
    }
    /* TOF-only PID cuts */
    else if (!hasTPCPID && hasTOFPID) {
      if (pt < fgTOFPIDmomcut[ipart] &&
	  TMath::Abs(nsigmaTOF[ipart]) < fgTOFPIDsigmacut[ipart]) {
	fHistoTOFbeta_selected[ipart]->Fill(centrality, p, beta);
	pidFlag[ipart] = kTRUE;
      }
    }
    
  } /* end of loop over species */

}

//___________________________________________________________

Bool_t
AliAnalysisTaskPIDFluctuation::InitPID(AliVEvent *event)
{
  /*
   * init PID
   */

  /* create PID object if not there yet */
  if (!fPID) {

    /* instance object */
    Bool_t mcFlag = kFALSE; /*** WARNING: check whether is MC ***/
    if (event->InheritsFrom("AliESDEvent"))
      fPID = new AliESDpid(mcFlag);
    else if (event->InheritsFrom("AliAODEvent"))
      fPID = new AliAODpidUtil(mcFlag);
    else 
      return kFALSE;
    
    /* set OADB path */
    fPID->SetOADBPath("$ALICE_ROOT/OADB");
  }

  /* init ESD PID */
  Int_t recoPass = 2; /*** WARNING: need to set the recoPass somehow better ***/
  fPID->InitialiseEvent(event, recoPass); /* warning: this apparently sets TOF time        
					      * resolution to some hardcoded value,     
					      * therefore we have to set correct   
					      * resolution value after this call */

  /* set TOF response */
  Double_t tofReso = 85.; /* ps */ /*** WARNING: need to set tofReso somehow better ***/
  fPID->GetTOFResponse().SetTimeResolution(tofReso);
  fPID->GetTOFResponse().SetTrackParameter(0, 0.007);
  fPID->GetTOFResponse().SetTrackParameter(1, 0.007);
  fPID->GetTOFResponse().SetTrackParameter(2, 0.0);
  fPID->GetTOFResponse().SetTrackParameter(3, 30);
  
  return kTRUE;
}

//___________________________________________________________

void
AliAnalysisTaskPIDFluctuation::MeasureNuDyn(const Char_t *filename, Int_t i1, Int_t i2, Int_t centralityEstimator)
{

  /*
   * measure nu
   */
  
  printf("MeasureNuDyn: running for %s vs. %s\n", fgkSparseDataName[i1], fgkSparseDataName[i2]);

  /* get data */
  TFile *filein = TFile::Open(filename);
  /* output */
  TFile *fileout = TFile::Open(Form("MeasureNuDyn_%s_%s.%s", fgkSparseDataName[i1], fgkSparseDataName[i2], filename), "RECREATE");

  /* loop over available containers */
  TList *keylist = filein->GetListOfKeys();
  for (Int_t ikey = 0; ikey < keylist->GetEntries(); ikey++) {
    
    /* get key and check */
    TKey *key = (TKey *)keylist->At(ikey);
    TString contname = key->GetName();
    if (!contname.BeginsWith("PIDFluctuation")) continue;

    /* get data */
    TList *list = (TList *)filein->Get(contname.Data());
    THnSparse *hsparse = (THnSparse *)list->FindObject("hHistoCorrelation");
    
    /* create output directory and cd there */
    fileout->mkdir(contname.Data());
    fileout->cd(contname.Data());

    /* loop over centralities */
    Double_t centBin[kNCentralityBins + 1] = {
      0., 5., 10., 20., 30., 40., 50., 60., 70., 80., 90.
    };
    TH1D *hNu = new TH1D("hNu", ";centrality percentile;#nu", kNCentralityBins, centBin);
    TH1D *hNuStat = new TH1D("hNuStat", ";centrality percentile;#nu_{stat}", kNCentralityBins, centBin);
    TH1D *hNuDyn = new TH1D("hNuDyn", ";centrality percentile;#nu_{dyn}", kNCentralityBins, centBin);
    for (Int_t icent = 0; icent < kNCentralityBins; icent++) {
      
      /* select centrality range */
      hsparse->GetAxis(centralityEstimator)->SetRangeUser(centBin[icent] + 0.001, centBin[icent + 1] - 0.001);
      /* projections */
      TH1D *hcent = hsparse->Projection(centralityEstimator);
      TH1D *h1 = hsparse->Projection(i1);
      TH1D *h2 = hsparse->Projection(i2);
      TH2D *hcorr = hsparse->Projection(i2, i1);
      TH1D *hnu = new TH1D("hnu", "", 2000, -1., 1.);
      
      Double_t n, a, b, nev, meanx, rmsx, meany, rmsy, meannu, rmsnu;
      Double_t meanx_err, meany_err, meannu_err;
      
      /* compute mean values */
      nev = 0.; meanx = 0.; meany = 0.;
      for (Int_t ibinx = 0; ibinx < hcorr->GetNbinsX(); ibinx++)
	for (Int_t ibiny = 0; ibiny < hcorr->GetNbinsY(); ibiny++) {
	  n = hcorr->GetBinContent(ibinx + 1, ibiny + 1);
	  if (n <= 0.) continue;
	  meanx += n * ibinx;
	  meany += n * ibiny;
	  nev  += n;
	}
      meanx /= nev;
      meany /= nev;
      //    printf("nev = %f, meanx = %f, meany = %f\n", nev, meanx, meany);
      
      /* compute RMS values */
      nev = 0.; rmsx = 0.; rmsy = 0.;
      for (Int_t ibinx = 0; ibinx < hcorr->GetNbinsX(); ibinx++)
	for (Int_t ibiny = 0; ibiny < hcorr->GetNbinsY(); ibiny++) {
	  n = hcorr->GetBinContent(ibinx + 1, ibiny + 1);
	  if (n <= 0.) continue;
	  a = ibinx - meanx;
	  rmsx += n * a * a;
	  a = ibiny - meany;
	  rmsy += n * a * a;
	  nev  += n;
	}
      rmsx /= nev;
      rmsx = TMath::Sqrt(rmsx);
      rmsy /= nev;
      rmsy = TMath::Sqrt(rmsy);
      //    printf("nev = %f, rmsx = %f, rmsy = %f\n", nev, rmsx, rmsy);
      meanx_err = rmsx / TMath::Sqrt(nev);
      meany_err = rmsy / TMath::Sqrt(nev);
      //    printf("nev = %f, meanx_err = %f, meany_err = %f\n", nev, meanx_err, meany_err);
      
      /* compute mean nu */
      nev = 0.; meannu = 0.;
      for (Int_t ibinx = 0; ibinx < hcorr->GetNbinsX(); ibinx++)
	for (Int_t ibiny = 0; ibiny < hcorr->GetNbinsY(); ibiny++) {
	  n = hcorr->GetBinContent(ibinx + 1, ibiny + 1);
	  if (n <= 0.) continue;
	  a = ibinx / meanx - ibiny / meany;
	  meannu += n * a * a;
	  hnu->Fill(a * a, n);
	  nev  += n;
	}
      meannu /= nev;
      //    printf("nev = %f, meannu = %f\n", nev, meannu);
      
      /* compute RMS nu */
      nev = 0.; rmsnu = 0.;
      for (Int_t ibinx = 0; ibinx < hcorr->GetNbinsX(); ibinx++)
	for (Int_t ibiny = 0; ibiny < hcorr->GetNbinsY(); ibiny++) {
	  n = hcorr->GetBinContent(ibinx + 1, ibiny + 1);
	  if (n <= 0.) continue;
	  a = ibinx / meanx - ibiny / meany;
	  b = a * a - meannu;
	  rmsnu += n * b * b;
	  nev  += n;
	}
      rmsnu /= nev;
      rmsnu = TMath::Sqrt(rmsnu);
      //    printf("nev = %f, rmsnu = %f\n", nev, rmsnu);
      meannu_err = rmsnu / TMath::Sqrt(nev);
      //    printf("nev = %f, meannu_err = %f\n", nev, meannu_err);
      
      /* final calculations */
      Double_t nu = meannu;
      Double_t nu_err = meannu_err;
      Double_t nu_stat = 1. / meanx + 1. / meany;
      Double_t meanx4 = meanx * meanx * meanx * meanx;
      Double_t meanx_err2 = meanx_err * meanx_err;
      Double_t meany4 = meany * meany * meany * meany;
      Double_t meany_err2 = meany_err * meany_err;
      Double_t nu_stat_err = TMath::Sqrt(meanx_err2 / meanx4 + meany_err2 / meany4);
      Double_t nu_dyn = nu - nu_stat;
      Double_t nu_dyn_err = TMath::Sqrt(nu_err * nu_err + nu_stat_err * nu_stat_err);
      
      /* setup final plots */
      hNu->SetBinContent(icent + 1, nu);
      hNu->SetBinError(icent + 1, nu_err);
      hNuStat->SetBinContent(icent + 1, nu_stat);
      hNuStat->SetBinError(icent + 1, nu_stat_err);
      hNuDyn->SetBinContent(icent + 1, nu_dyn);
      hNuDyn->SetBinError(icent + 1, nu_dyn_err);
      
      hcent->Write(Form("hcent_cent%d", icent));
      h1->Write(Form("h1_cent%d", icent));
      h2->Write(Form("h2_cent%d", icent));
      hcorr->Write(Form("hcorr_cent%d", icent));
      hnu->Write(Form("hnu_cent%d", icent));
      
      /* clean-up */
      delete hcent;
      delete h1;
      delete h2;
      delete hcorr;
      delete hnu;
    }

    hNu->Write();
    hNuStat->Write();
    hNuDyn->Write();
  }

  fileout->Close();
  filein->Close();

}

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