ROOT logo
void InitHistograms(AliDielectron *die, Int_t cutDefinition);
void AddQAHistsPID(AliDielectron *die);
void AddQAHistsEP(AliDielectron *die);
void AddQAHistsEff(AliDielectron *die);
void AddHistsEleEff(AliDielectron *die);

void InitCF(AliDielectron* die, Int_t cutDefinition);
void InitHF(AliDielectron* die, Int_t cutDefinition);

void SetupEventCuts(AliDielectron *die, ULong64_t triggers, Int_t cutDefinition);
void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition);
void SetupV0Cuts( AliDielectron *die,  Int_t cutDefinition);
void SetupPairCuts( AliDielectron *die,  Int_t cutDefinition);

void ConfigEvtPlane(AliDielectron *die,  Int_t cutDefinition);
void ConfigBgrd(    AliDielectron *die,  Int_t cutDefinition);

void AddMCSignals(AliDielectron *die,  Int_t cutDefinition);
void SetEtaCorrection(AliDielectron *die);
TVectorD *GetRunNumbers2011();
TVectorD *GetPDGcodes();
TVectorD *GetDeltaPhiBins();

TString names=("Event;NoCut;PIDqa;LegEff;Std;SysMC;Flow;avgPt;Rec;TPC;TOF;TRD;TPC-TOF-TRD;NOPID;SysPt;SysEta;SysEle;SysPro;SysSPD;SysMCele");
enum { kEvent,              // event quantities (mult, ep, trigger, ...)
       kNoCut,              // pure event quantities (mult, ep, trigger, ...)
       kPIDqa,              // post calibration and validation of TPC PID
       kLegEff,             // single electron efficiency calculation
       kStd,                // standard Raa analysis
       kSysMC,
       kFlow,               // flow calculation
       kAvgPt,              // mean pt and pt^2 analysis
       kRec,                // to calculate partial efficiencies, in particular the geom. acceptance
       kTPC,
       kTOF,
       kTRD,
       kTPCTOFTRD,
       kNoPID,
       kSysPt,
       kSysEta,
       kSysEle,
       kSysPro,
       kSysSPD,
       kSysMCele,
       kPIDQA
 };

TObjArray *arrNames=names.Tokenize(";");
const Int_t nDie=arrNames->GetEntries();

Bool_t  isESD = kTRUE;
TString list  = gSystem->Getenv("LIST");

AliDielectron* ConfigJpsi_jb_PbPb(Int_t cutDefinition, Bool_t hasMC=kFALSE, ULong64_t triggers=AliVEvent::kCentral | AliVEvent::kSemiCentral | AliVEvent::kMB)
{
  //
  // Setup the instance of AliDielectron
  //

  // gsi train?
  TString trainRoot = gSystem->Getenv("TRAIN_ROOT");
  Bool_t isGSItrain = (trainRoot.IsNull()?kFALSE:kTRUE); 
  if(isGSItrain) {
    // find mc or not?
    if( list.IsNull()) list=prod;
    if( list.Contains("LHC10h")   || list.Contains("LHC11h")   ) hasMC=kFALSE;
    if( list.Contains("LHC11a10") || list.Contains("LHC12a17") ||  list.Contains("LHC13c7")) hasMC=kTRUE;
  }

  //ESD handler?
  isESD=(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()->IsA()==AliESDInputHandler::Class());

  // task name
  TString name=Form("%02d",cutDefinition);
  if (cutDefinition<arrNames->GetEntriesFast())  name=arrNames->At(cutDefinition)->GetName();
  printf(" Adding %s%s config %s for %s \n",(isESD?"ESD":"AOD"),(hasMC?" MC":""),name.Data(),list.Data());

  // init AliDielectron
  AliDielectron *die = new AliDielectron(Form("%s",name.Data()), Form("%s",name.Data()));
  die->SetHasMC(hasMC);

  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv CUTS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  SetupEventCuts(die,triggers,cutDefinition);
  SetupTrackCuts(die,cutDefinition);
  SetupV0Cuts(die,cutDefinition);
  SetupPairCuts(die,cutDefinition);

  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv MISC vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  // Monte Carlo Signals
  AddMCSignals(die, cutDefinition);
  // PID post calibartion
  //  if(cutDefinition!=kEvent && cutDefinition!=kLegEff) SetEtaCorrection(die);
  // bgrd estimators
  //ConfigBgrd(die,cutDefinition);
  // tpc event plane configuration
  //ConfigEvtPlane(die,cutDefinition);
  // prefilter settings NEW
  //  if(cutDefinition==kNoCut ||cutDefinition==kEvent || cutDefinition==kNoPID || cutDefinition==kPIDqa || cutDefinition==kLegEff)
    die->SetNoPairing();
  // else
  //   die->SetPreFilterAllSigns();
  //die->SetPreFilterUnlikeOnly();
  // load single electron effieciency map ATTENTION
  if(cutDefinition==kAvgPt) die->InitLegEffMap("alien:///alice/cern.ch/user/j/jbook/PWGDQ/dielectron/files/effMap.root");


  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv OUTPUT vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  // histogram setup
  InitHistograms(die,cutDefinition);
  // histogram grid setup
  InitHF(die,cutDefinition);
  // CF container setup
  InitCF(die,cutDefinition);

  // cut QA
  die->SetCutQA();

  return die;
}

//______________________________________________________________________________________
void SetupEventCuts(AliDielectron *die, ULong64_t triggers, Int_t cutDefinition)
{
  //
  // Setup the event cuts
  //

  // trigger specific centrality cuts (reject trigger inefficiencies)
  Double_t minCent=0.0, maxCent=100.;
  if(!die->GetHasMC()) {
    switch(triggers) {
    // case AliVEvent::kCentral:     minCent= 0.; maxCent=10.; break; //0-9
    // case AliVEvent::kSemiCentral: minCent=10.; maxCent=50.; break; //12-53
    // case AliVEvent::kMB:          minCent=10.; maxCent=90.; break;
    default:                      minCent= 0.; maxCent=90.; break;
    }
  }
  //  if(cutDefinition >= kEtaGap01) {minCent=20.; maxCent=50.;} // v2 analysis
  if(cutDefinition == kSysMC) {minCent=0.; maxCent=50.;}
  if(cutDefinition == kSysMCele) {minCent=0.; maxCent=50.;}

  // VZERO multiplicity vs. number ob global tracks cut
  TF1 *fMean  = new TF1("fMean", "pol1",               0,25e+3);
  fMean->SetParameters(691.633, 1.4892);
  TF1 *fSigma = new TF1("fSigma","[0]+sqrt([1]*x+[2])",0,25e+3);
  fSigma->SetParameters(-83.6599, 36.7677, 69530.7);

  AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("vertex","vertex");
  if(!isESD) eventCuts->SetVertexType(AliDielectronEventCuts::kVtxAny);
  eventCuts->SetRequireVertex();
  eventCuts->SetMinVtxContributors(1);
  if(cutDefinition!=kNoCut) eventCuts->SetVertexZ(-10.,+10.);
  eventCuts->SetCentralityRange(minCent,maxCent);
  //  eventCuts->SetCutOnV0MultipicityNTrks(fMean, fSigma, 4.0);
  //  eventCuts->SetRunRejection(AliDielectronHelper::MakeArbitraryBinning("170592,170593,170594"));
  eventCuts->Print();
  die->GetEventFilter().AddCuts(eventCuts);

}

//______________________________________________________________________________________
void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Setup the track cuts
  //
  Bool_t hasMC=die->GetHasMC();

  // Quality cuts
  //  die->GetTrackFilter().AddCuts(cuts);

  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv FILTER CUTS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  // AOD track filter (needs to be first cut to speed up)
  AliDielectronTrackCuts *trkFilter = new AliDielectronTrackCuts("filter","filter");
  // config specific cuts
  switch(cutDefinition) {
  case kPIDqa:   trkFilter->SetAODFilterBit(AliDielectronTrackCuts::kTPCqual); break;
  default:       trkFilter->SetAODFilterBit(AliDielectronTrackCuts::kTPCqualSPDany);
  }
  //  trkFilter->SetMinNCrossedRowsOverFindable(0.6);

  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv TRACK CUTS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  AliDielectronVarCuts *varAccCuts   = new AliDielectronVarCuts("acc","acc");
  AliDielectronCutGroup  *grpRecCuts = new AliDielectronCutGroup("rec","rec",AliDielectronCutGroup::kCompAND);
  AliDielectronVarCuts   *varRecCuts = new AliDielectronVarCuts("VarRecCuts","VarRecCuts");
  AliDielectronTrackCuts *trkRecCuts = new AliDielectronTrackCuts("TrkRecCuts","TrkRecCuts");

  // config specific cuts
  switch(cutDefinition) {
  case kPIDqa:
    varAccCuts->AddCut(AliDielectronVarManager::kPt,           0.5, 1e30);  // 0.85 ATTENTION
    varRecCuts->AddCut(AliDielectronVarManager::kTPCclsSegments,7.,   8.0);
    break;
  case kEvent:
  case kNoCut:
  case kFlow:
  case kRec:
  case kStd:
  case kTRD:
  case kTPCTOFTRD:
  case kAvgPt:
  case kNoPID:
  case kSysMCele:
    varAccCuts->AddCut(AliDielectronVarManager::kPt,           0.85, 1e30);
    varAccCuts->AddCut(AliDielectronVarManager::kEta,         -0.8,   0.8);
  case kLegEff:
    varRecCuts->AddCut(AliDielectronVarManager::kTPCclsSegments,7.,   8.0);
    trkRecCuts->SetITSclusterCut(AliDielectronTrackCuts::kOneOf, 3); // SPD any
    //if(hasMC)  varAccCuts->AddCut(AliDielectronVarManager::kEta,         -0.9,   0.9);
    //else
    ///
    break;
  case kTOF:
  case kTPC:
    varAccCuts->AddCut(AliDielectronVarManager::kPt,           0.95, 1e30);    //0.8
    varAccCuts->AddCut(AliDielectronVarManager::kEta,         -0.9,   0.9);
    varRecCuts->AddCut(AliDielectronVarManager::kNclsTPC,     70.0, 160.0);
    trkRecCuts->SetITSclusterCut(AliDielectronTrackCuts::kOneOf, 7); // ITS-3 = 1+2+4
    break;
    ///////////////////////////////////////////////////////////////////////////////////////////// systematics
  case kSysPt:
    varAccCuts->AddCut(AliDielectronVarManager::kPt,           1.1, 20./*1e30*/); ///ATTENTION
    varAccCuts->AddCut(AliDielectronVarManager::kEta,         -0.8,   0.8);
    varRecCuts->AddCut(AliDielectronVarManager::kTPCclsSegments,7.,   8.0);
    trkRecCuts->SetITSclusterCut(AliDielectronTrackCuts::kOneOf, 3); // SPD any
    break;
  case kSysEta:
    varAccCuts->AddCut(AliDielectronVarManager::kPt,           0.85, 20./*1e30*/);
    varAccCuts->AddCut(AliDielectronVarManager::kEta,         -0.9,   0.9); ////ATTENTION
    varRecCuts->AddCut(AliDielectronVarManager::kTPCclsSegments,7.,   8.0);
    trkRecCuts->SetITSclusterCut(AliDielectronTrackCuts::kOneOf, 3); // SPD any
    break;
  case kSysEle:
  case kSysPro:
    varAccCuts->AddCut(AliDielectronVarManager::kPt,           0.85, 20./*1e30*/);
    varAccCuts->AddCut(AliDielectronVarManager::kEta,         -0.8,   0.8);
    varRecCuts->AddCut(AliDielectronVarManager::kTPCclsSegments,7.,   8.0);
    trkRecCuts->SetITSclusterCut(AliDielectronTrackCuts::kOneOf, 3); // SPD any
    break;
  case kSysSPD:
    varAccCuts->AddCut(AliDielectronVarManager::kPt,           0.85, 20./*1e30*/);
    varAccCuts->AddCut(AliDielectronVarManager::kEta,         -0.8,   0.8);
    varRecCuts->AddCut(AliDielectronVarManager::kTPCclsSegments,7.,   8.0);
    trkRecCuts->SetITSclusterCut(AliDielectronTrackCuts::kOneOf, 1); // SPD any
    break;
  case kSysMC:
    varAccCuts->AddCut(AliDielectronVarManager::kPt,           0.85, 1e30);
    varAccCuts->AddCut(AliDielectronVarManager::kEta,         -0.9,   0.9); ////ATTENTION
    varRecCuts->AddCut(AliDielectronVarManager::kTPCclsSegments,7.,   8.0);
    trkRecCuts->SetITSclusterCut(AliDielectronTrackCuts::kOneOf, 3); // SPD any
    break;
  }

  // standrad reconstruction cuts
  varRecCuts->AddCut(AliDielectronVarManager::kImpactParXY, -1.0,   1.0);
  varRecCuts->AddCut(AliDielectronVarManager::kImpactParZ,  -3.0,   3.0);
  varRecCuts->AddCut(AliDielectronVarManager::kTPCchi2Cl,    0.0,   4.0);
  varRecCuts->AddCut(AliDielectronVarManager::kKinkIndex0,   0.0);
  //  varRecCuts->AddCut(AliDielectronVarManager::kV0Index0,     0.0);
  if(cutDefinition!=kPIDqa) trkRecCuts->SetRequireITSRefit(kTRUE);
  trkRecCuts->SetRequireTPCRefit(kTRUE);

  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv PID CUTS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  AliDielectronCutGroup *grpPIDCuts = new AliDielectronCutGroup("PID","PID",AliDielectronCutGroup::kCompAND);
  AliDielectronVarCuts  *pidSelCuts = new AliDielectronVarCuts("selPIDCuts","selPIDCuts");
  pidSelCuts->AddCut(AliDielectronVarManager::kTRDpidQuality,      4.0,   6.0);
  pidSelCuts->AddCut(AliDielectronVarManager::kTRDchi2,            0.0,   2.0);
  AliDielectronVarCuts *pidVarCuts = new AliDielectronVarCuts("varPIDCuts","varPIDCuts");
  AliDielectronVarCuts *pidMCCuts  = new AliDielectronVarCuts("mcPIDCuts","mcPIDCuts");
  AliDielectronPID *pidCuts        = new AliDielectronPID("PIDCuts","PIDCuts");

  switch(cutDefinition) {
  case kPIDqa:
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-10.,10.);
    pidCuts->AddCut(AliDielectronPID::kTRDeleEff,AliPID::kElectron,.95,1.,pidSelCuts,
		    kFALSE, AliDielectronPID::kIfAvailable);
    break;
  case kTOF:
    pidVarCuts->AddCut(AliDielectronVarManager::kTOFbeta,      0.2,   0.9, kTRUE);
    pidCuts->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3,3.,0.,0.,kFALSE,
		    AliDielectronPID::kIfAvailable);
  case kTPC:
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,4.);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,4.0,0.,0.,kTRUE);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-100.,3.5,0.,0.,kTRUE);
    break;
  case kTRD:
    pidCuts->AddCut(AliDielectronPID::kTRDeleEff,AliPID::kElectron,.95,1.,pidSelCuts,
		    kFALSE, AliDielectronPID::kIfAvailable);
  case kEvent:
  case kNoCut:
  case kFlow:
  case kStd:
  case kLegEff:
  case kAvgPt:
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5.,3.);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.9,3.0,-0.5,+0.5,kFALSE,
		    AliDielectronPID::kRequire,AliDielectronVarManager::kEta);
    // pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.65,3.0,-0.3,+0.3,kFALSE,
    // 		AliDielectronPID::kRequire,AliDielectronVarManager::kEta);
    // pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.4,3.0,-0.1,+0.1,kFALSE,
    // 		AliDielectronPID::kRequire,AliDielectronVarManager::kEta);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-100.,4.0,0.,0.,kTRUE);
    // tof heavy particle exclusion
    //    pidVarCuts->AddCut(AliDielectronVarManager::kTOFbeta,      0.3,   0.7, kTRUE);
    //pidCuts->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3,3.,0.,0.,kFALSE,
     //		    AliDielectronPID::kIfAvailable);
    break;
  case kTPCTOFTRD:
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.3.,3.);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.9,3.0,-0.5,+0.5,kFALSE,
		    AliDielectronPID::kRequire,AliDielectronVarManager::kEta);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.65,3.0,-0.3,+0.3,kFALSE,
		    AliDielectronPID::kRequire,AliDielectronVarManager::kEta);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.4,3.0,-0.1,+0.1,kFALSE,
		    AliDielectronPID::kRequire,AliDielectronVarManager::kEta);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-100.,4.0,0.,0.,kTRUE);
    pidVarCuts->AddCut(AliDielectronVarManager::kTOFbeta,      0.2,   0.9, kTRUE);
    pidCuts->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3,3.,0.,0.,kFALSE,
		    AliDielectronPID::kIfAvailable);
    pidCuts->AddCut(AliDielectronPID::kTRDeleEff,AliPID::kElectron,.95,1.,pidSelCuts,
		    kFALSE, AliDielectronPID::kIfAvailable);
    break;
    ///////////////////////////////////////////////////////////////////////////////////////////// systematics
  case kSysPt:
  case kSysEta:
  case kSysSPD:
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5.,3.);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.9,3.0,-0.5,+0.5,kFALSE,
		    AliDielectronPID::kRequire,AliDielectronVarManager::kEta);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-100.,4.0,0.,0.,kTRUE);
    break;
  case kSysEle:
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,+0.7.,3.);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-100.,4.0,0.,0.,kTRUE);
    break;
  case kSysPro:
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5.,3.);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.9,3.0,-0.5,+0.5,kFALSE,
		    AliDielectronPID::kRequire,AliDielectronVarManager::kEta);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-100.,3.5,0.,0.,kTRUE);
    break;
  case kSysMC:
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5.,3.);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.9,3.0,-0.5,+0.5,kFALSE,
		    AliDielectronPID::kRequire,AliDielectronVarManager::kEta);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-100.,3.5,0.,0.,kTRUE);
    break;
  case kSysMCele:
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5.,3.);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.9,3.0,-0.5,+0.5,kFALSE,
		    AliDielectronPID::kRequire,AliDielectronVarManager::kEta);
    pidCuts->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-100.,4.0,0.,0.,kTRUE);
    break;
  }

  // mc identification
  if(cutDefinition==kPIDqa && hasMC) {
    pidMCCuts->SetCutType(AliDielectronVarCuts::kAny);//only apply any of the two cuts
    pidMCCuts->AddCut(AliDielectronVarManager::kPdgCode,-11.5,-10.5 );
    pidMCCuts->AddCut(AliDielectronVarManager::kPdgCode,10.5,11.5 );
  }

  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv PID POST CORRECTION vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  //  if(cutDefinition!=kEvent) SetEtaCorrection(pidCuts,hasMC);


  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv TENDER CUTS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  // exclude conversion electrons selected by the tender
  AliDielectronTrackCuts *noconv=new AliDielectronTrackCuts("noConv","noConv");
  noconv->SetV0DaughterCut(AliPID::kElectron,kTRUE);

  // activate the cut sets (order might be CPU timewise important)
  switch(cutDefinition) {
  case kNoPID:
  case kPIDqa:
    if(!isESD) die->GetTrackFilter().AddCuts(trkFilter);
    die->           GetTrackFilter().AddCuts(varAccCuts);
    grpRecCuts->AddCut(trkRecCuts);
    grpRecCuts->AddCut(varRecCuts);
    die->           GetTrackFilter().AddCuts(grpRecCuts);
    if(hasMC) grpPIDCuts->AddCut(pidMCCuts);
    else      grpPIDCuts->AddCut(pidCuts);
    die->           GetTrackFilter().AddCuts(grpPIDCuts);
    break;
  case kRec:
    die->GetTrackFilter().AddCuts(varAccCuts);
    grpRecCuts->AddCut(trkRecCuts);
    grpRecCuts->AddCut(varRecCuts);
    die->GetTrackFilter().AddCuts(grpRecCuts);
    break;
  case kEvent:
  case kNoCut:
  case kFlow:
  case kStd:
  case kLegEff:
  case kTRD:
  case kTPCTOFTRD:
  case kAvgPt:
  case kTOF:
  case kTPC:
  case kSysPt:
  case kSysEta:
  case kSysEle:
  case kSysPro:
  case kSysSPD:
  case kSysMC:
  case kSysMCele:
    if(!isESD) die->GetTrackFilter().AddCuts(trkFilter);
    die->           GetTrackFilter().AddCuts(varAccCuts);
    grpRecCuts->AddCut(trkRecCuts);
    grpRecCuts->AddCut(varRecCuts);
    die->           GetTrackFilter().AddCuts(grpRecCuts);
    grpPIDCuts->AddCut(pidCuts);
    //    grpPIDCuts->AddCut(pidVarCuts);
    die->           GetTrackFilter().AddCuts(grpPIDCuts);
    //cuts->AddCut(noconv);
    // debug
    trkFilter->Print();
    varAccCuts->Print();
    grpRecCuts->Print();
    grpPIDCuts->Print();
  }

}

//______________________________________________________________________________________
void SetupV0Cuts(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Setup the V0 cuts
  //

  switch(cutDefinition) {
  case kEvent:  return;
  case kNoCut:  return;
    //  case kLegEff: return;
  }

  Bool_t bRej  = kTRUE;
  Int_t defPID = 16;
  if(cutDefinition==kPIDqa) {
    bRej   = kFALSE;
    defPID = 13;//13
  }

  AliDielectronV0Cuts *gammaV0Cuts = new AliDielectronV0Cuts("V0","V0");
  gammaV0Cuts->SetV0finder(AliDielectronV0Cuts::kOnTheFly);
  gammaV0Cuts->SetPdgCodes(22,11,11);
  gammaV0Cuts->SetDefaultPID(defPID);
  gammaV0Cuts->AddCut(AliDielectronVarManager::kCosPointingAngle, TMath::Cos(0.05),   1.0,  kFALSE); //0.02 -- 0.05
  gammaV0Cuts->AddCut(AliDielectronVarManager::kArmPt,                         0.0,   0.05, kFALSE);
  gammaV0Cuts->AddCut(AliDielectronVarManager::kArmAlpha,                     -0.35,  0.35, kFALSE);
  gammaV0Cuts->AddCut(AliDielectronVarManager::kM,                             0.0,   0.1,  kFALSE); //0.05 -- 0.1
  gammaV0Cuts->AddCut(AliDielectronVarManager::kChi2NDF,                       0.0,  10.0,  kFALSE);
  gammaV0Cuts->AddCut(AliDielectronVarManager::kLegDist,                       0.0,   0.25, kFALSE);
  gammaV0Cuts->AddCut(AliDielectronVarManager::kR,                             3.0,  90.0,  kFALSE);
  gammaV0Cuts->AddCut(AliDielectronVarManager::kPsiPair,                       0.0,   0.2,  kFALSE); //0.05 -- 0.2
  if(cutDefinition==kPIDqa && 0) {
    gammaV0Cuts->AddCut(AliDielectronVarManager::kImpactParXY,                   0.0,   1.0,  kFALSE);
    gammaV0Cuts->AddCut(AliDielectronVarManager::kImpactParZ,                    0.0,   1.0,  kFALSE);
  }
  //  gammaV0Cuts->AddCut(AliDielectronVarManager::kOpeningAngle,              0.0,   0.1,  kFALSE);
  gammaV0Cuts->SetExcludeTracks(bRej);
  gammaV0Cuts->Print();

 //  const Double_t |cutAlphaG| < 0.35; &&  const Double_t cutQTG < 0.05;
 //  const Double_t |cutAlphaG2|[2] = {0.6, 0.8}; &&  const Double_t cutQTG2 < 0.04;

  // if(cuts)
  //   ((AliDielectronCutGroup*)cuts)->AddCut(gammaV0Cuts);
  // else
  die->GetTrackFilter().AddCuts(gammaV0Cuts);
}

//______________________________________________________________________________________
void SetupPairCuts(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Setup the pair cuts
  //
  Bool_t hasMC=die->GetHasMC();

  // rap and mass rejection
  Double_t gCut=0.05, yCut=0.9, eCut=0.01;
  switch(cutDefinition) {
  case kNoCut:
  case kEvent:      yCut=0.0;  break;
  case kPIDqa:      return;
  case kFlow:       yCut=0.8;  break;
  case kRec:        yCut=0.9;  break;
  case kNoPID:      return;
  case kTPC:        yCut=0.9;  break;
  case kTOF:        yCut=0.9;  break;
  case kTRD:        yCut=0.8;  break;
  case kStd:      yCut=0.8;  break;
  case kLegEff:     return;
  case kTPCTOFTRD:  yCut=0.8;  break;
  case kAvgPt:      yCut=0.8;  break;
  case kSysMC:      yCut=0.9;  break;
  case kSysMCele:   yCut=0.8;  break;
  case kSysEta:     yCut=0.9;  break;
  case kSysPt:
  case kSysEle:
  case kSysPro:
  case kSysSPD:
    yCut=0.8;                  break;
    //  default: gCut=0.05;       // default
  }

  // MC
  //if(hasMC) yCut=0.9;

  // rapidity selection
  AliDielectronVarCuts *rapCut=new AliDielectronVarCuts(Form("|Y|<%.1f",yCut),Form("|Y|<%.1f",yCut));
  rapCut->AddCut(AliDielectronVarManager::kY,-1.*yCut,yCut);
  die->GetPairFilter().AddCuts(rapCut);

  // gamma rejection
  AliDielectronVarCuts *gammaCuts = new AliDielectronVarCuts("GammaCuts","GammaCuts");
  gammaCuts->AddCut(AliDielectronVarManager::kM,            0.0,   gCut);
  die->GetPairPreFilter().AddCuts(gammaCuts);

  // pair efficiency cut
  // if(cutDefinition==kAvgPt && !hasMC) {
  //   AliDielectronVarCuts *effCut=new AliDielectronVarCuts(Form("(Axe)>%.2f",eCut),Form("(Axe)>%.2f",eCut));
  //   effCut->AddCut(AliDielectronVarManager::kPairEff,0.0,eCut,kTRUE);
  //   die->GetPairFilter().AddCuts(effCut);
  // }

  // random signal rejection
  AliDielectronCutGroup *grpRNDMCuts = new AliDielectronCutGroup("RNDM","RNDM",AliDielectronCutGroup::kCompOR);
  AliDielectronVarCuts *exclCutCEN=new AliDielectronVarCuts("exclCEN","exclCEN");
  exclCutCEN->SetCutType(AliDielectronVarCuts::kAll); // all criteria need to be fullfilled
  exclCutCEN->AddCut(AliDielectronVarManager::kRndmPair,0.0,1./40);
  exclCutCEN->AddCut(AliDielectronVarManager::kPdgCode,443);
  exclCutCEN->AddCut(AliDielectronVarManager::kCentrality,0.,10.);
  AliDielectronVarCuts *exclCutSEMI=new AliDielectronVarCuts("exclSEMI","exclSEMI");
  exclCutSEMI->SetCutType(AliDielectronVarCuts::kAll); // all criteria need to be fullfilled
  exclCutSEMI->AddCut(AliDielectronVarManager::kRndmPair,0.0,1./20);
  exclCutSEMI->AddCut(AliDielectronVarManager::kPdgCode,443);
  exclCutSEMI->AddCut(AliDielectronVarManager::kCentrality,10.,90.);
  AliDielectronVarCuts *inclCut=new AliDielectronVarCuts("incl","incl");
  inclCut->AddCut(AliDielectronVarManager::kPdgCode,443,443,kTRUE);
  grpRNDMCuts->AddCut(exclCutCEN);
  grpRNDMCuts->AddCut(exclCutSEMI);
  grpRNDMCuts->AddCut(inclCut);
  if(hasMC && cutDefinition==kStd && 0) die->GetPairFilter().AddCuts(grpRNDMCuts); //ATTENTION

}

//______________________________________________________________________________________
void ConfigBgrd(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Configurate the background estimators
  //

  // default no processing of LS
  //  die->SetProcessLS(kFALSE);

  // skip config
  switch(cutDefinition) {
  case kEvent:
  case kNoCut:
  case kNoPID:
  case kPIDqa:
  case kRec:
  case kLegEff:
    return;
  }

  Bool_t hasMC=die->GetHasMC();
  if(hasMC && cutDefinition!=kAvgPt) return;

  // add track rotations
  AliDielectronTrackRotator *rot=new AliDielectronTrackRotator;
  rot->SetIterations(10);
  rot->SetConeAnglePhi(TMath::Pi());
  rot->SetStartAnglePhi(TMath::Pi());
  //      die->SetTrackRotator(rot);

  // add mixed events
  AliDielectronMixingHandler *mix=new AliDielectronMixingHandler;
  switch(cutDefinition) {
  // case kStd:
  //   mix->AddVariable(AliDielectronVarManager::kZvPrim,      20, -10., 10.);
  //   mix->AddVariable(AliDielectronVarManager::kCentrality,  36,   0., 90.);
  //   mix->AddVariable(AliDielectronVarManager::kv0ACrpH2,    10,   0., TMath::Pi());
  //   break;
  default: 
    mix->AddVariable(AliDielectronVarManager::kZvPrim,      "-10.,-5.,-4.,-3.,-2.,-1.,0.,1.,2.,3.,4.,5.,10.");
    mix->AddVariable(AliDielectronVarManager::kCentrality,  9,  0.,90.);
    mix->AddVariable(AliDielectronVarManager::kTPCrpH2,     10, TMath::Pi()/-2, TMath::Pi()/2); // max res: 10%->10bins // 8bins
    //    mix->AddVariable(AliDielectronVarManager::kTPCmagH2,    "0.,20.,50.,80.,110.,150.,500.");
    break;
  }
  mix->SetSkipFirstEvent(kTRUE); // needed for flow analysis
  mix->SetMixType(AliDielectronMixingHandler::kAll);
  mix->SetDepth(150);
  die->SetMixingHandler(mix);

}

//______________________________________________________________________________________
void ConfigEvtPlane(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Configurate the TPC event plane 
  //

  switch(cutDefinition) {
    //  case kEvent:
  case kNoPID:
  case kPIDqa:
    //  case kRec:   // TOTHINK: might be needed when checking efficiencies versus dPhi
  case kLegEff:
    return;
  }

  Bool_t hasMC=die->GetHasMC();
  if(hasMC && cutDefinition!=kAvgPt) return;

  //   Double_t gGap;
  //   switch(cutDefinition) {
  //   case kEtaGap01:   gGap=0.1;   break;
  //   case kEtaGap02:   gGap=0.2;   break;
  //   case kEtaGap03:   gGap=0.3;   break;
  //   case kEtaGap04:   gGap=0.4;   break;
  //   case kEtaGap05:   gGap=0.5;   break;
  //   default: gGap=0.0;
  //   }
  // eta gap in tpc event plane
  //   AliDielectronVarCuts *etaGap = new AliDielectronVarCuts(AliDielectronVarManager::GetValueName(AliDielectronVarManager::kEta),"etaGap");
  //   etaGap->AddCut(AliDielectronVarManager::kEta,-1*gGap,gGap,kTRUE);
  //   die->GetEventPlanePreFilter().AddCuts(etaGap);

  AliDielectronVarCuts *poi = new AliDielectronVarCuts("PoI","PoI");
  poi->AddCut(AliDielectronVarManager::kM,2.92,3.20);     // particles of interest, jpsi mass window
  die->GetEventPlanePOIPreFilter().AddCuts(poi);

  // die->SetLikeSignSubEvents();
  die->SetPreFilterEventPlane();
}

//______________________________________________________________________________________
void InitHistograms(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Initialise the histograms
  //
  Bool_t hasMC=die->GetHasMC();

  // booleans for histo selection
  Bool_t bHistTrackQA=kFALSE, bHistEvts=kFALSE, bHistPair=kFALSE, bHistTrk=kFALSE, bHistPairME=kFALSE, bHistFlow=kFALSE, bHistFlowQA=kFALSE, bHistPID=kFALSE;
  switch (cutDefinition) {
  case kNoCut:
  case kEvent: bHistEvts=kTRUE; break;
  case kPIDqa: bHistTrk=kTRUE; break;
  case kNoPID: bHistTrk=kTRUE; break;
  case kRec:   /* */ break;
  case kTPC:
  case kTOF:   //bHistEvts=kTRUE; //bHistFlow=kTRUE;
  case kTRD:   ///bHistEvts=kTRUE; //bHistFlow=kTRUE;
  case kAvgPt: 
  case kSysMC:
  case kStd: ///*bHistEvts=kTRUE;*/ bHistPair=kTRUE; break; //bHistPairME=kTRUE;
  case kTPCTOFTRD: bHistPair=kTRUE; bHistTrk=kTRUE; bHistPID=kTRUE; break; //bHistPairME=kTRUE;
  case kSysMCele: bHistPair=kTRUE; bHistPID=kFALSE; break; //bHistPairME=kTRUE;
  case kLegEff: bHistTrk=kTRUE; break;
  }
  if(hasMC) {
    bHistPID=kFALSE;
  }

  //Setup histogram Manager
  AliDielectronHistos *histos=new AliDielectronHistos(die->GetName(),die->GetTitle());
  die->SetHistogramManager(histos);

  //Initialise histogram classes
  histos->SetReservedWords("Track;Pair");

  //add histograms to event class
  histos->AddClass("Event");
  Int_t maxMixBins = (die->GetMixingHandler() ? die->GetMixingHandler()->GetNumberOfBins() : 0);
  histos->UserHistogram("Event","","", 100, 0.0, 100.0,   AliDielectronVarManager::kCentrality);
  if(die->GetMixingHandler() && maxMixBins)
    histos->UserHistogram("Event","","", maxMixBins, 0, maxMixBins, AliDielectronVarManager::kMixingBin);
  // candidates monitoring
  histos->UserProfile("Event","","", AliDielectronVarManager::kTracks, GetRunNumbers2011(), AliDielectronVarManager::kRunNumber);
  histos->UserProfile("Event","","", AliDielectronVarManager::kPairs, GetRunNumbers2011(), AliDielectronVarManager::kRunNumber);


  //event plane histograms
  if(cutDefinition==kFlow) {
    if(!hasMC) AddQAHistsEP(die);
    histos->UserHistogram("Pair","","", 100,-1*TMath::Pi(),+1*TMath::Pi(), AliDielectronVarManager::kDeltaPhiv0ArpH2);
    histos->UserHistogram("Pair","","", 100,-1*TMath::Pi(),+1*TMath::Pi(), AliDielectronVarManager::kDeltaPhiv0CrpH2);
    histos->UserHistogram("Pair","","", 100,-1*TMath::Pi(),+1*TMath::Pi(), AliDielectronVarManager::kDeltaPhiTPCrpH2);
  }

  ////// EVENT HISTOS /////
  if(bHistEvts) {
    histos->UserHistogram("Event","","", GetRunNumbers2011(), AliDielectronVarManager::kRunNumber);
    histos->UserHistogram("Event","","", 300,-15.,15.,	  AliDielectronVarManager::kZvPrim);
    //    histos->UserHistogram("Event","","", 300,0.,15000.,	  AliDielectronVarManager::kRefMult);
    histos->UserHistogram("Event","","", 300,0.,3000.,	  AliDielectronVarManager::kRefMultTPConly);

    //    histos->UserHistogram("Event","","", 100,0.,100.,	  AliDielectronVarManager::kRefMultTPConly);
    histos->UserHistogram("Event","","", GetRunNumbers2011(), AliDielectronHelper::MakeLinBinning(3000, 0., 3000.),
			  AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kRefMultTPConly);
    histos->UserHistogram("Event","","", AliDielectronHelper::MakeLinBinning(90, 0., 90.), AliDielectronHelper::MakeLinBinning(3000, 0., 3000.),
			  AliDielectronVarManager::kCentrality, AliDielectronVarManager::kRefMultTPConly);
    histos->UserProfile(  "Event","","", AliDielectronVarManager::kRefMultTPConly,        90, 0., 90.,  AliDielectronVarManager::kCentrality);
    histos->UserProfile(  "Event","","", AliDielectronVarManager::kMultV0A,               90, 0., 90.,  AliDielectronVarManager::kCentrality);
    histos->UserProfile(  "Event","","", AliDielectronVarManager::kMultV0C,               90, 0., 90.,  AliDielectronVarManager::kCentrality);
    // histos->UserProfile(  "Event","","", AliDielectronVarManager::kEqMultV0A,               90, 0., 90.,  AliDielectronVarManager::kCentrality);
    // histos->UserProfile(  "Event","","", AliDielectronVarManager::kEqMultV0C,               90, 0., 90.,  AliDielectronVarManager::kCentrality);
    histos->UserProfile(  "Event","","", AliDielectronVarManager::kNVtxContrib, 90, 0., 90.,  AliDielectronVarManager::kCentrality);
    histos->UserHistogram("Event","","", 100, 0., 4000.,  AliDielectronVarManager::kNVtxContribTPC);

    // event plane histograms
    if(!hasMC) AddQAHistsEP(die);
    // trigger histograms
    if(!hasMC) {
      histos->UserHistogram("Event","","", 29,0.,29.,	  AliDielectronVarManager::kTriggerInclONL);
      histos->UserHistogram("Event","","", 29,0.,29.,	  AliDielectronVarManager::kTriggerInclOFF);
      histos->UserHistogram("Event","","", 29,0.,29.,	  AliDielectronVarManager::kTriggerExclOFF);
      histos->UserHistogram("Event","","", 100,0.,100.,29,0.,29., 
			    AliDielectronVarManager::kCentrality,AliDielectronVarManager::kTriggerInclONL);
      histos->UserHistogram("Event","","", 100,0.,100.,29,0.,29., 
			    AliDielectronVarManager::kCentrality,AliDielectronVarManager::kTriggerExclOFF);
      histos->UserHistogram("Event","","", 300,0.,3000.,29,0.,29., 
			    AliDielectronVarManager::kRefMultTPConly,AliDielectronVarManager::kTriggerExclOFF);
      histos->UserHistogram("Event","","", 300,0.,3000.,29,0.,29., 
			    AliDielectronVarManager::kRefMultTPConly,AliDielectronVarManager::kTriggerInclOFF);
    }

  } //hist: event

  ///// PAIR HISTOS /////
  if(bHistPair) {

    //Pair classes
    // to fill also mixed event histograms loop until 7 or 10
    for (Int_t i=1; i<(bHistPairME ? 8 : 2); ++i){
      histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
    }

    //add MC signal histograms to pair class
    if(die->GetMCSignals()) {
      for (Int_t i=0; i<die->GetMCSignals()->GetEntriesFast(); ++i) {
	histos->AddClass(Form("Pair_%s",die->GetMCSignals()->At(i)->GetName()));
	histos->AddClass(Form("Pair_%s_MCtruth",die->GetMCSignals()->At(i)->GetName()));
      }
    }

    ///// Pair classes /////
    histos->UserHistogram("Pair","","",  375,.0,375*0.04, AliDielectronVarManager::kM); // 40MeV bins, 12GeV/c2
    histos->UserHistogram("Pair","","",  100,-1.,1.,      AliDielectronVarManager::kY);
    histos->UserHistogram("Pair","","",  400,0,20.,       AliDielectronVarManager::kPt);
    histos->UserHistogram("Pair","","",  125,.0,125*0.04, 400,0,20., AliDielectronVarManager::kM,AliDielectronVarManager::kPt);
    histos->UserHistogram("Pair","","",  100,0.,3.15,     AliDielectronVarManager::kOpeningAngle);
    histos->UserHistogram("Pair","","",  100,0.,20,       AliDielectronVarManager::kChi2NDF);
    histos->UserHistogram("Pair","","",  100,0.,3.15,     AliDielectronVarManager::kPsiPair);
    histos->UserHistogram("Pair","","",  200,0.,100.,     AliDielectronVarManager::kR);
    histos->UserHistogram("Pair","","",   50,0.,5.,       AliDielectronVarManager::kLegDist);
    histos->UserHistogram("Pair","","",   50,0.,5.,       AliDielectronVarManager::kLegDistXY);
    // histos->UserHistogram("Pair","","", 210,-1.05,1.05, 100,0.,2.5, 
    // 			  AliDielectronVarManager::kArmAlpha,AliDielectronVarManager::kArmPt);
    histos->UserHistogram("Pair","","", 500,-2.5,2.5, AliDielectronVarManager::kImpactParXY);
    histos->UserHistogram("Pair","","", 600,-3.,3., AliDielectronVarManager::kImpactParZ);

    if(!hasMC && die->GetMixingHandler() && maxMisBins)
      histos->UserHistogram("Pair","","", maxMixBins, 0, maxMixBins, AliDielectronVarManager::kMixingBin);

    histos->UserHistogram("Pair","","",  100,.0,1., AliDielectronVarManager::kRndmPair);
    // histos->UserHistogram("Pair","","",  GetPDGcodes(), AliDielectronVarManager::kPdgCode);
    // histos->UserHistogram("Pair","","",  GetPDGcodes(), AliDielectronVarManager::kPdgCodeMother);
    // histos->UserHistogram("Pair","","",  GetPDGcodes(), AliDielectronVarManager::kPdgCodeGrandMother);

  } //hist: pairs


  ///// TRACK HISTOS /////
  if(bHistTrk) {
    //Track classes
    //legs from pair (fill SE)
    for (Int_t i=1; i<2; ++i){
      if(bHistPair) histos->AddClass(Form("Track_Legs_%s",AliDielectron::PairClassName(i)));
    }
    //to fill also track info from 2nd event loop until 2
    //    for (Int_t i=0; i<2; ++i) histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
    if(cutDefinition!=kLegEff)
    histos->AddClass(Form("Track_%s",     AliDielectron::PairClassName(AliDielectron::kEv1PM)));

    // PID post calibration
    if(cutDefinition==kPIDqa) AddQAHistsPID(die);

    // Vertex
    // histos->UserHistogram("Track","","", 500,-1.,1., AliDielectronVarManager::kImpactParXY);
    // histos->UserHistogram("Track","","", 600,-3.,3., AliDielectronVarManager::kImpactParZ);
    // Kinematics
    histos->UserHistogram("Track","","", 400,0,20.,  AliDielectronVarManager::kPt);
    histos->UserHistogram("Track","","", 200,-1,1, 200,0,6.285, AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
    // TPC
    // histos->UserHistogram("Track","","", 160,-0.5,159.5, AliDielectronVarManager::kNclsTPC);
    // histos->UserHistogram("Track","","", 160,-0.5,159.5, AliDielectronVarManager::kTPCsignalN);
    // histos->UserHistogram("Track","","", 160,-0.5,159.5, AliDielectronVarManager::kNFclsTPCr);
    // histos->UserHistogram("Track","","", 160,-0.5,159.5, 160,-0.5,159.5, AliDielectronVarManager::kNclsTPC,AliDielectronVarManager::kNFclsTPCr);
    // TRD
    histos->UserHistogram("Track","","",   8,-0.5,  7.5, AliDielectronVarManager::kTRDpidQuality);
    histos->UserHistogram("Track","","",   101,-0.5, 100.5, AliDielectronVarManager::kTRDsignal);
    histos->UserHistogram("Track","","",   101,-0.5, 100.5, AliDielectronVarManager::kTRDchi2);
    // PID
    histos->UserHistogram("Track","","", 400,0.2,20.,200,0.,200., AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
    histos->UserHistogram("Track","","", 400,0.2,20.,200,-10.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
    histos->UserHistogram("Track","","", 250,0.2,5.0,300,0.,1.2,  AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFbeta,kTRUE);
    // histos->UserHistogram("Track","","", 100,-1.,+1.,200,-10.,10.,AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCnSigmaEle);

    // histos->UserHistogram("Track","","", 100,0.2,10.,100,0.,200.,
    // 			  AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
    // histos->UserHistogram("Track","","", 100,0.2,10.,100,-5.,+5.,
    // 			  AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
    histos->UserHistogram("Track","","", 100,0.,4000.,100,0.,200.,
			  AliDielectronVarManager::kRefMultTPConly,AliDielectronVarManager::kTPCsignal);
    histos->UserHistogram("Track","","", 100,0.,4000.,100,-5.,+5.,
			  AliDielectronVarManager::kRefMultTPConly,AliDielectronVarManager::kTPCnSigmaEle);
    histos->UserHistogram("Track","","", 100,0.,100.,100,0.,200.,
			  AliDielectronVarManager::kCentrality,AliDielectronVarManager::kTPCsignal);
    histos->UserHistogram("Track","","", 100,0.,100.,100,-5.,+5.,
			  AliDielectronVarManager::kCentrality,AliDielectronVarManager::kTPCnSigmaEle);
    histos->UserHistogram("Track","","", 100,-1.,+1.,100,0.,200.,
			  AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCsignal);
    histos->UserHistogram("Track","","", 100,-1.,+1.,100,-5.,+5.,
			  AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCnSigmaEle);
    histos->UserHistogram("Track","","", 100,-1.,+1.,100,-5.,+5.,
			  AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCnSigmaEleRaw);
    histos->UserHistogram("Track","","", 100,-1.,+1.,100,-5.,+5.,
			  AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCnSigmaPio);
  } //hist: tracks


  if(cutDefinition==kAvgPt) {
    // add single electron efficiency histograms
    AddQAHistsEff(die);
  }

  ////// MONTE CARLO //////
  if(cutDefinition==kLegEff) {

    //add MC signal histograms to track class
    if(die->GetMCSignals()) {

      TString className="";
      for (Int_t i=0; i<die->GetMCSignals()->GetEntriesFast(); ++i) {
	TString sigMCname = die->GetMCSignals()->At(i)->GetName();

	// mc truth
	//	histos->AddClass(Form("Pair_%s_MCtruth",      sigMCname.Data()));
	// histos->AddClass(Form("Track_Legs_%s_MCtruth",sigMCname.Data()));
	// mc reconstructed
	// histos->AddClass(Form("Pair_%s",              sigMCname.Data()));
	// histos->AddClass(Form("Track_Legs_%s",        sigMCname.Data()));
	// tracks
	histos->AddClass(Form("Track_%s_%s",AliDielectron::PairClassName(AliDielectron::kEv1PM),sigMCname.Data()));
	histos->AddClass(Form("Track_%s_%s_MCtruth",AliDielectron::PairClassName(AliDielectron::kEv1PM),sigMCname.Data()));
      } //end: loop signals
    } //end: has signals

    // add single electron histograms
    AddHistsEleEff(die);
    // pdg codes
    //    histos->UserHistogram("Track","","",  GetPDGcodes(), AliDielectronVarManager::kPdgCode);
    //    histos->UserHistogram("Track","","",  GetPDGcodes(), AliDielectronVarManager::kPdgCodeMother);
    //    histos->UserHistogram("Track","","",  GetPDGcodes(), AliDielectronVarManager::kPdgCodeGrandMother);
    //    histos->UserHistogram("Track","","",  GetPDGcodes(), GetPDGcodes(),
    // 			  AliDielectronVarManager::kPdgCodeMother, AliDielectronVarManager::kPdgCodeGrandMother);
  }



  die->SetHistogramManager(histos);


  ////// LOG //////
  TIter nextClass(histos->GetHistogramList());
  THashList *l=0;
  while ( (l=static_cast<THashList*>(nextClass())) ) {
    //printf(" [D] HistogramManger: Class %s: Histograms: %04d \n", l->GetName(), l->GetEntries());
  }

} //end: init histograms

void AddQAHistsPID(AliDielectron *die) {
  //
  // add histograms for PID validation, comparison, post calibration aso.
  //

  Bool_t hasMC=die->GetHasMC();
  AliDielectronHistos *histos = die->GetHistoManager();

  // add MC signal tracks
  if(hasMC && die->GetMCSignals()) {
    TString sigMCname = die->GetMCSignals()->Last()->GetName();
    histos->AddClass(Form("Track_%s_%s",AliDielectron::PairClassName(AliDielectron::kEv1PM),sigMCname.Data()));
  }


  // for TPC post calibration

  // arbitrary binning for variables
  TVectorD *vcen = AliDielectronHelper::MakeLinBinning( 11,  0.,    55.);
  (*vcen)[21] = 90.;

  // array of bin limits
  TObjArray *limits  = new TObjArray();
  limits->Add(AliDielectronHelper::MakeLinBinning( 75,-10.,     5.));
  limits->Add(AliDielectronHelper::MakeLinBinning( 75,-10.,     5.));
  //  limits->Add(AliDielectronHelper::MakeLinBinning(100,  0.,   200.));
  //  limits->Add(AliDielectronHelper::MakeLinBinning(60,   0.,    1.2));
  limits->Add(AliDielectronHelper::MakeLinBinning( 50,  0.,  4000.));
  limits->Add(AliDielectronHelper::MakeLinBinning( 50,  0.,    10.));
  //  limits->Add(vcen);
  //    limits->Add(AliDielectronHelper::MakeLinBinning( 36,  0.,    90.));
  limits->Add(AliDielectronHelper::MakeLinBinning( 20, -1.,     1.));
  limits->Add(GetRunNumbers2011());
  UInt_t var[]={AliDielectronVarManager::kTPCnSigmaEleRaw,  // NOTE: raw nsigma w/o corr
		AliDielectronVarManager::kTPCnSigmaEle,
		//		AliDielectronVarManager::kTOFbeta,
		// AliDielectronVarManager::kTPCsignal,
		AliDielectronVarManager::kRefMultTPConly,
		AliDielectronVarManager::kPIn,
		// AliDielectronVarManager::kCentrality,
		AliDielectronVarManager::kEta,
		AliDielectronVarManager::kRunNumber
  };
  // add merged track histogram
  histos->UserSparse("Track", limits->GetEntriesFast(), limits, var);

  // run dependence of nisgma electron
  histos->UserHistogram("Track","","", GetRunNumbers2011(),AliDielectronHelper::MakeLinBinning(100,-5.,+5.),
			AliDielectronVarManager::kRunNumber,AliDielectronVarManager::kTPCnSigmaEleRaw);
  histos->UserHistogram("Track","","", GetRunNumbers2011(),AliDielectronHelper::MakeLinBinning(100,-5.,+5.),
			AliDielectronVarManager::kRunNumber,AliDielectronVarManager::kTPCnSigmaEle);

  // post calibration check
  histos->UserHistogram("Track","","", 100,0.2,10.,100,-5.,+5.,
			AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEleRaw,kTRUE);
  histos->UserHistogram("Track","","", 100,0.2,10.,100,-5.,+5.,
			AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);

  // TPC number of points used for nsigma calculation
  histos->UserHistogram("Track","","", 160,-0.5,159.5, AliDielectronVarManager::kTPCsignalN);
}

void AddQAHistsEP(AliDielectron *die) {
  //
  // add histograms for event plane flattening aso.
  //

  Bool_t hasMC=die->GetHasMC();
  AliDielectronHistos *histos = die->GetHistoManager();

  histos->UserHistogram("Event","","", AliDielectronHelper::MakeLinBinning(100,-1.6,1.6), AliDielectronVarManager::kTPCrpH2);
  histos->UserHistogram("Event","","", AliDielectronHelper::MakeLinBinning(100,-1.6,1.6), AliDielectronVarManager::kTPCrpH2uc);

  // event plane resolutions
  TObjArray *limits  = new TObjArray();
  limits->Add(AliDielectronHelper::MakeLinBinning( 18,  0.,    90.));
  //    limits->Add(GetRunNumbers2011());
  limits->Add(AliDielectronHelper::MakeLinBinning(100,  -1.,    1.));
  limits->Add(AliDielectronHelper::MakeLinBinning(100,  -1.,    1.));
  limits->Add(AliDielectronHelper::MakeLinBinning(100,  -1.,    1.));

  UInt_t var[]={AliDielectronVarManager::kCentrality,
		//		   AliDielectronVarManager::kRunNumber,
		AliDielectronVarManager::kv0ATPCDiffH2,
		AliDielectronVarManager::kv0CTPCDiffH2,
		AliDielectronVarManager::kv0Av0CDiffH2 };
  //  histos->UserSparse("Event", 4, limits, var);

  // event plane angles
  TObjArray *limits2  = new TObjArray();
  limits2->Add(AliDielectronHelper::MakeLinBinning( 18,   0.,    90.));
  //  limits2->Add(GetRunNumbers2011());
  limits2->Add(AliDielectronHelper::MakeLinBinning(100,  -1.6,   1.6));
  limits2->Add(AliDielectronHelper::MakeLinBinning(100,  -1.6,   1.6));
  limits2->Add(AliDielectronHelper::MakeLinBinning(100,  -1.6.,  1.6));

  UInt_t var2[]={AliDielectronVarManager::kCentrality,
		 //		 AliDielectronVarManager::kRunNumber,
		 AliDielectronVarManager::kv0ArpH2,
		 AliDielectronVarManager::kv0CrpH2,
		 AliDielectronVarManager::kTPCrpH2 };
  histos->UserSparse("Event", limits2->GetEntriesFast(), limits2, var2);

  // VZERO event plane angles (sub rings)
  histos->UserHistogram("Event","","", 100,-2.,2., AliDielectronVarManager::kv0A0rpH2);
  histos->UserHistogram("Event","","", 100,-2.,2., AliDielectronVarManager::kv0C0rpH2);
  histos->UserHistogram("Event","","", 100,-2.,2., AliDielectronVarManager::kv0A3rpH2);
  histos->UserHistogram("Event","","", 100,-2.,2., AliDielectronVarManager::kv0C3rpH2);
  histos->UserHistogram("Event","","", 100,-2.,2., AliDielectronVarManager::kv0ACrpH2); // combined A+C

  // run dependence of the angles
  histos->UserHistogram("Event","","", GetRunNumbers2011(), AliDielectronHelper::MakeLinBinning(100,-1.6,1.6),
			AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kv0ArpH2);
  histos->UserHistogram("Event","","", GetRunNumbers2011(), AliDielectronHelper::MakeLinBinning(100,-1.6,1.6),
			AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kv0CrpH2);
  histos->UserHistogram("Event","","", GetRunNumbers2011(), AliDielectronHelper::MakeLinBinning(100,-1.6,1.6),
			AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kTPCrpH2);


  // TPC q vector components
  histos->UserHistogram("Event","","", 100,-1500.,1500., AliDielectronVarManager::kTPCxH2);
  histos->UserHistogram("Event","","", 100,-1500.,1500., AliDielectronVarManager::kTPCyH2);
  // histos->UserHistogram("Event","","", 100,   -2.,   2., AliDielectronVarManager::kTPCsub1rpH2);
  // histos->UserHistogram("Event","","", 100,   -2.,   2., AliDielectronVarManager::kTPCsub2rpH2);
  // histos->UserHistogram("Event","","", 100,   -1.,   1., AliDielectronVarManager::kTPCsub12DiffH2);

  // further event plane resolutions (used in 3 sub event method)
  histos->UserProfile("Event","","", AliDielectronVarManager::kv0ATPCDiffH2,   18, 0.,90., AliDielectronVarManager::kCentrality);
  histos->UserProfile("Event","","", AliDielectronVarManager::kv0CTPCDiffH2,   18, 0.,90., AliDielectronVarManager::kCentrality);
  histos->UserProfile("Event","","", AliDielectronVarManager::kv0Av0CDiffH2,   18, 0.,90., AliDielectronVarManager::kCentrality);
  histos->UserProfile("Event","","", AliDielectronVarManager::kTPCsub12DiffH2, 18, 0.,90., AliDielectronVarManager::kCentrality);
  histos->UserProfile("Event","","", AliDielectronVarManager::kv0Av0C0DiffH2,  18, 0.,90., AliDielectronVarManager::kCentrality);
  histos->UserProfile("Event","","", AliDielectronVarManager::kv0Av0C3DiffH2,  18, 0.,90., AliDielectronVarManager::kCentrality);
  histos->UserProfile("Event","","", AliDielectronVarManager::kv0Cv0A0DiffH2,  18, 0.,90., AliDielectronVarManager::kCentrality);
  histos->UserProfile("Event","","", AliDielectronVarManager::kv0Cv0A3DiffH2,  18, 0.,90., AliDielectronVarManager::kCentrality);
  histos->UserProfile("Event","","", AliDielectronVarManager::kv0A0v0A3DiffH2, 18, 0.,90., AliDielectronVarManager::kCentrality);
  histos->UserProfile("Event","","", AliDielectronVarManager::kv0C0v0C3DiffH2, 18, 0.,90., AliDielectronVarManager::kCentrality);

  // EP angle correlation (range of phi angle)
  // histos->UserHistogram("Event","","", 320,-3.2.,3.2, 320,-3.2.,3.2,
  // 			AliDielectronVarManager::kTPCrpH2,AliDielectronVarManager::kv0ACrpH2);

  // EP Qvector magnitudes
  histos->UserHistogram("Event","","", 200,0.,200., AliDielectronVarManager::kTPCmagH2);
  histos->UserHistogram("Event","","", 200,0.,800., AliDielectronVarManager::kv0ACmagH2);
  histos->UserHistogram("Event","","", 200,0.,800., AliDielectronVarManager::kv0AmagH2);
  histos->UserHistogram("Event","","", 200,0.,800., AliDielectronVarManager::kv0CmagH2);

  // detector effects checks
  histos->UserHistogram("Event","","", 10,0.,100., 300,-1.0,1.0,
			AliDielectronVarManager::kCentrality, AliDielectronVarManager::kTPCsub12DiffH2Sin);

  // TPC recentering
  // histos->UserProfile("Event","","", AliDielectronVarManager::kTPCxH2,
  // 		      AliDielectronHelper::MakeLinBinning(9, 0.,90.), GetRunNumbers2011(),
  // 		      AliDielectronVarManager::kCentrality, AliDielectronVarManager::kRunNumber);
  // histos->UserProfile("Event","","", AliDielectronVarManager::kTPCyH2,
  // 		      AliDielectronHelper::MakeLinBinning(9, 0.,90.), GetRunNumbers2011(),
  // 		      AliDielectronVarManager::kCentrality, AliDielectronVarManager::kRunNumber);

}

void AddHistsEleEff(AliDielectron *die) {
  //
  // adding histograms for single electron efficiencies
  //

  Bool_t hasMC=die->GetHasMC();
  AliDielectronHistos *histos = die->GetHistoManager();

  // single electron efficiecy

  // arbitrary binning for variables
  // TVectorD *vpt = AliDielectronHelper::MakeLinBinning( 41,  0.0,    10.25);
  // (*vpt)[41] = 20.;
  TVectorD *vpt1 = AliDielectronHelper::MakeLinBinning( (int)(( 3. - 0.)/0.10),    0.,     3.); //steps of 100MeV
  TVectorD *vpt2 = AliDielectronHelper::MakeLinBinning( (int)(( 10.- 3.25)/0.25),  3.25,  10.); //steps of 250MeV
  TVectorD *vpt3 = AliDielectronHelper::MakeLinBinning( (int)((100.-20.)/10.0),   20.,   100.); //steps of 10GeV
  TVectorD *vpt  = new TVectorD(vpt1->GetNrows()+vpt2->GetNrows()+vpt3->GetNrows());
  for(Int_t i=0; i<vpt1->GetNrows(); i++) (*vpt)[i]                                   = (*vpt1)[i];
  for(Int_t i=0; i<vpt2->GetNrows(); i++) (*vpt)[vpt1->GetNrows()+i]                  = (*vpt2)[i];
  for(Int_t i=0; i<vpt3->GetNrows(); i++) (*vpt)[vpt1->GetNrows()+vpt2->GetNrows()+i] = (*vpt3)[i];
  delete vpt1;  delete vpt2;  delete vpt3;  //vpt->Print();

  // array of bin limits
  TObjArray *limEpm  = new TObjArray();
  //    limEpm->Add(AliDielectronHelper::MakeLinBinning( 75,-10.,     5.));
  limEpm->Add(AliDielectronHelper::MakeLinBinning( 18,  0.,    90.));
  limEpm->Add(vpt);
  limEpm->Add(AliDielectronHelper::MakeLinBinning( 20,  0.,   TMath::TwoPi()));
  limEpm->Add(AliDielectronHelper::MakeLinBinning( 20, -1.,    +1.));
  //  limEpm->Add(AliDielectronHelper::MakeLinBinning(  1, -1.,    +1.));
  //  limEpm->Add(AliDielectronHelper::MakeLinBinning(  1, -1.,    +1.));
  limEpm->Add(GetRunNumbers2011());
  limEpm->Add(GetPDGcodes());
  limEpm->Add(GetPDGcodes());
  UInt_t varEpm[]={//AliDielectronVarManager::kTPCnSigmaEle,
    AliDielectronVarManager::kCentrality
    ,AliDielectronVarManager::kPt
    ,AliDielectronVarManager::kPhi
    ,AliDielectronVarManager::kEta
    //    ,AliDielectronVarManager::kImpactParXY
    //    ,AliDielectronVarManager::kImpactParZ
    ,AliDielectronVarManager::kRunNumber
    ,AliDielectronVarManager::kPdgCodeMother
    ,AliDielectronVarManager::kPdgCodeGrandMother
  };
  // adding histogram
  if(hasMC) histos->UserSparse("Track", limEpm->GetEntriesFast(), limEpm, varEpm);
  delete limEpm;

  histos->UserHistogram("Track","","", 500,-1.,1., AliDielectronVarManager::kImpactParXY);
  histos->UserHistogram("Track","","", 600,-3.,3., AliDielectronVarManager::kImpactParZ);

  // polarisation //
  // array of bin limits
  TVectorD *vpt = AliDielectronHelper::MakeLinBinning( 21,  0.0,    10.5);
  (*vpt)[21] = 100.;
  TObjArray *limPair  = new TObjArray();
  limPair->Add(AliDielectronHelper::MakeLinBinning( 18,  0.,    90.));
  limPair->Add(AliDielectronHelper::MakeLinBinning( 20, -1.,    +1.));
  limPair->Add(vpt);
  //  limPair->Add(GetPDGcodes());
  UInt_t varPair[]={
    AliDielectronVarManager::kCentrality
    ,AliDielectronVarManager::kThetaCS
    ,AliDielectronVarManager::kPt
    //    ,AliDielectronVarManager::kPdgCodeMother
  };
  //  if(hasMC) histos->UserSparse("Pair", limPair->GetEntriesFast(), limPair, varPair); // TAKES 4ever
  delete limPair;

}

void AddQAHistsEff(AliDielectron *die) {
  //
  // adding histograms for single electron efficiencies
  //

  Bool_t hasMC=die->GetHasMC();
  AliDielectronHistos *histos = die->GetHistoManager();

  // arbitrary binning for variables
  TVectorD *vpt1 = AliDielectronHelper::MakeLinBinning( (int)(( 3. - 0.)/0.10),    0.,     3.);
  TVectorD *vpt2 = AliDielectronHelper::MakeLinBinning( (int)(( 10.- 3.25)/0.25),  3.25,  10.);
  TVectorD *vpt3 = AliDielectronHelper::MakeLinBinning( (int)((100.-20.)/10.0),   20.,   100.);
  TVectorD *vpt  = new TVectorD(vpt1->GetNrows()+vpt2->GetNrows()+vpt3->GetNrows());
  for(Int_t i=0; i<vpt1->GetNrows(); i++) (*vpt)[i]                                   = (*vpt1)[i];
  for(Int_t i=0; i<vpt2->GetNrows(); i++) (*vpt)[vpt1->GetNrows()+i]                  = (*vpt2)[i];
  for(Int_t i=0; i<vpt3->GetNrows(); i++) (*vpt)[vpt1->GetNrows()+vpt2->GetNrows()+i] = (*vpt3)[i];
  delete vpt1;  delete vpt2;  delete vpt3;

  // single electron efficiecy
  // applied efficiencies in collision data
  histos->UserHistogram("Track","","", 101,-0.01,1.0, AliDielectronVarManager::kLegEff);
  histos->UserProfile("Track","","", AliDielectronVarManager::kLegEff, GetRunNumbers2011(),  AliDielectronVarManager::kRunNumber);
  histos->UserProfile("Track","","", AliDielectronVarManager::kLegEff, 18,0.0,90.0,  AliDielectronVarManager::kCentrality);
  histos->UserProfile("Track","","", AliDielectronVarManager::kLegEff, vpt, AliDielectronVarManager::kPt);
  histos->UserProfile("Track","","", AliDielectronVarManager::kLegEff, 20,0.0,TMath::TwoPi(), AliDielectronVarManager::kPhi);
  histos->UserProfile("Track","","", AliDielectronVarManager::kLegEff, 20,-1.,+1.,   AliDielectronVarManager::kEta);
  // histos->UserProfile("Track","","", AliDielectronVarManager::kLegEff,
  //  		      vpt, AliDielectronHelper::MakeLinBinning(20,0.0,TMath::TwoPi()),
  //  		      AliDielectronVarManager::kPt,AliDielectronVarManager::kPhi);

  histos->UserHistogram("Pair","","", 101,-0.01,1.0, AliDielectronVarManager::kPairEff);
  histos->UserProfile("Pair","","", AliDielectronVarManager::kPairEff, 125,.0,125*0.04, AliDielectronVarManager::kM);
  histos->UserProfile("Pair","","", AliDielectronVarManager::kPairEff, 100,.0,10.0,     AliDielectronVarManager::kPt);
  histos->UserProfile("Pair","","", AliDielectronVarManager::kPairEff, 18,0.0,90.0,     AliDielectronVarManager::kCentrality);

  histos->UserHistogram("Pair","","", 125,.0,125*0.04, 101,-0.01,1.0,
			AliDielectronVarManager::kM, AliDielectronVarManager::kPairEff);
  histos->UserHistogram("Pair","","", 200,0,10., 101,-0.01,1.0,
			AliDielectronVarManager::kPt, AliDielectronVarManager::kPairEff);

  // array of bin limits
  TObjArray *limEpm  = new TObjArray();
  limEpm->Add(AliDielectronHelper::MakeLinBinning( 125,  0., 125*0.04));
  limEpm->Add(AliDielectronHelper::MakeLinBinning( 40,   0.,      10.));
  limEpm->Add(AliDielectronHelper::MakeLinBinning( 101, -0.01,   +1.0));
  UInt_t varEpm[]={
    AliDielectronVarManager::kM
    ,AliDielectronVarManager::kPt
    ,AliDielectronVarManager::kPairEff
  };
  //  histos->UserSparse("Pair", limEpm->GetEntriesFast(), limEpm, varEpm);
  delete limEpm;

  histos->UserProfile("Pair","","", AliDielectronVarManager::kPt,125,.0,125*0.04, AliDielectronVarManager::kM);
  //weighted
  histos->UserHistogram("Pair","","", AliDielectronHelper::MakeLinBinning(125,.0,125*0.04),
			AliDielectronVarManager::kM, AliDielectronVarManager::kOneOverPairEff);
  histos->UserProfile("Pair", "","", AliDielectronVarManager::kPt,AliDielectronHelper::MakeLinBinning(125,.0,125*0.04),
		      AliDielectronVarManager::kM, "", AliDielectronVarManager::kOneOverPairEff);
}


void InitHF(AliDielectron* die, Int_t cutDefinition)
{
  //
  // Setup the HF arrays
  //
  // do not fill
  switch(cutDefinition) {
  case kNoCut:
  case kEvent:
  case kPIDqa:
  case kLegEff:
  case kNoPID:
  case kRec:
  case kSysMC:
    return;
  }

  // has mc
  Bool_t hasMC=die->GetHasMC();
  // booleans for histo selection
  Bool_t bHistEff = kFALSE; //ATTENTION
  // mixing
  AliDielectronMixingHandler *mixH=die->GetMixingHandler();
  Int_t maxMixBins = (mixH ? mixH->GetNumberOfBins() : 0);

  // container
  AliDielectronHF *hf=new AliDielectronHF(die->GetName(),die->GetTitle());
  // define pair types and sources
  if(hasMC) hf->SetStepForMCGenerated();
  hf->SetPairTypes(AliDielectronHF::kOSandMIX);
  if(hasMC && cutDefinition!=kAvgPt)  hf->SetPairTypes(AliDielectronHF::kMConly); // only mc truth
  //  hf->SetPairTypes(AliDielectronHF::kAll);    // all pair types

  //// define the grid size and granularity /////
  hf->AddCutVariable(AliDielectronVarManager::kCentrality, AliDielectronHelper::MakeArbitraryBinning("0.,10.,40.,50.,90."));
  hf->AddCutVariable(AliDielectronVarManager::kPt, AliDielectronHelper::MakeArbitraryBinning("0.,1.5,2.,2.5,3.,5.,6.,7.,8.,10.,100."));
  hf->AddCutVariable(AliDielectronVarManager::kY,  AliDielectronHelper::MakeArbitraryBinning("-0.9,-0.8,0.8,0.9"));

  // hf->AddCutVariable(AliDielectronVarManager::kCentrality,               9, 0., 90.);
  // TVectorD *vpt = AliDielectronHelper::MakeLinBinning( 21,  0.0,    10.5);
  // (*vpt)[21] = 100.;
  // hf->AddCutVariable(AliDielectronVarManager::kPt, vpt);
  // hf->AddCutVariable(AliDielectronVarManager::kY,  1, -0.8,  0.8);
  if(cutDefinition==kAvgPt ) //NEW
  hf->AddCutVariable(AliDielectronVarManager::kPairEff,  AliDielectronHelper::MakeArbitraryBinning(".0,.01,.02,.03,.04,.05,.1,1."));

  // defaults
  hf->UserHistogram("Pair", AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM);
  // for mixed event weighting
  // if(mixH) hf->UserHistogram("Pair", AliDielectronHelper::MakeLinBinning(maxMixBins,0,maxMixBins), AliDielectronVarManager::kMixingBin);

  // mean pt analysis
  if(cutDefinition==kAvgPt) {
    hf->UserProfile("Pair", AliDielectronVarManager::kPt,
     		    AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM);
    // hf->UserProfile("Pair", AliDielectronVarManager::kPtSq,
    // 		    AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM);
    // ME binning
    // hf->UserHistogram("Pair", AliDielectronHelper::MakeLinBinning(125,.0,125*0.04),
    // 		      AliDielectronHelper::MakeLinBinning(maxMixBins,0,maxMixBins),
    // 		      AliDielectronVarManager::kM, AliDielectronVarManager::kMixingBin);
    // hf->UserProfile("Pair", AliDielectronVarManager::kPt,
    // 		    AliDielectronHelper::MakeLinBinning(125,.0,125*0.04),
    // 		    AliDielectronHelper::MakeLinBinning(maxMixBins,0,maxMixBins),
    // 		    AliDielectronVarManager::kM, AliDielectronVarManager::kMixingBin);
  }

  // flow analysis
  if(cutDefinition==kFlow && !hasMC) {
    // flow versus minv
    hf->UserProfile("Pair", AliDielectronVarManager::kv0ArpH2FlowV2,
		    AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM);
    hf->UserProfile("Pair", AliDielectronVarManager::kv0CrpH2FlowV2,
		    AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM);
    hf->UserProfile("Pair", AliDielectronVarManager::kTPCrpH2FlowV2,
		    AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM);
    // detector effects
    hf->UserProfile("Pair", AliDielectronVarManager::kCosTPCrpH2,
		    AliDielectronHelper::MakeLinBinning(1,.0,125*0.04), AliDielectronVarManager::kM);
    hf->UserProfile("Pair", AliDielectronVarManager::kSinTPCrpH2,
		    AliDielectronHelper::MakeLinBinning(1,.0,125*0.04), AliDielectronVarManager::kM);
    hf->UserProfile("Pair", AliDielectronVarManager::kCosPhiH2,
		    AliDielectronHelper::MakeLinBinning(1,.0,125*0.04), AliDielectronVarManager::kM);
    hf->UserProfile("Pair", AliDielectronVarManager::kSinPhiH2,
		    AliDielectronHelper::MakeLinBinning(1,.0,125*0.04), AliDielectronVarManager::kM);
    hf->UserProfile("Pair", AliDielectronVarManager::kTPCrpH2FlowV2Sin,
		    AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM);

    // variables
    hf->AddCutVariable(AliDielectronVarManager::kDeltaPhiv0ArpH2, GetDeltaPhiBins());
    hf->AddCutVariable(AliDielectronVarManager::kDeltaPhiv0CrpH2, GetDeltaPhiBins());
    hf->AddCutVariable(AliDielectronVarManager::kDeltaPhiTPCrpH2, GetDeltaPhiBins());
  }

  // on the fly efficienies
  if(cutDefinition==kAvgPt/* && (!hasMC || 0)*/) {
    hf->UserProfile("Pair", AliDielectronVarManager::kPairEff, 
     		    AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM);
    hf->UserHistogram("Pair", AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM,
     		      AliDielectronVarManager::kOneOverPairEff);
    hf->UserProfile("Pair", AliDielectronVarManager::kPt,
     		    AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM, 
		    "", AliDielectronVarManager::kOneOverPairEff);
    // hf->UserProfile("Pair", AliDielectronVarManager::kPtSq,
    // 		    AliDielectronHelper::MakeLinBinning(125,.0,125*0.04), AliDielectronVarManager::kM, 
    // 		    "", AliDielectronVarManager::kOneOverPairEff);

    // ME binning
    if(maxMixBins) {
      hf->UserHistogram("Pair", AliDielectronHelper::MakeLinBinning(125,.0,125*0.04),
			AliDielectronHelper::MakeLinBinning(maxMixBins,0,maxMixBins),
			AliDielectronVarManager::kM, AliDielectronVarManager::kMixingBin,
			AliDielectronVarManager::kOneOverPairEff);
      hf->UserProfile("Pair", AliDielectronVarManager::kPt,
		      AliDielectronHelper::MakeLinBinning(125,.0,125*0.04),
		      AliDielectronHelper::MakeLinBinning(maxMixBins,0,maxMixBins),
		      AliDielectronVarManager::kM, AliDielectronVarManager::kMixingBin,"",
		      AliDielectronVarManager::kOneOverPairEff);
    }
  }


  /*
//// define the grid size and granularity /////
// event variables //
//  hf->AddCutVariable(AliDielectronVarManager::kCentrality, AliDielectronHelper::MakeArbitraryBinning("0,10,50,90")); // flow only
if(hasMC) hf->AddCutVariable(AliDielectronVarManager::kCentrality,               18, 0., 90.);
else      hf->AddCutVariable(AliDielectronVarManager::kCentrality,               9, 0., 90.);
//  if(hasMC)  hf->AddCutVariable(AliDielectronVarManager::kRunNumber, GetRunNumbers2011() );
//  if(hasMC)  hf->AddCutVariable(AliDielectronVarManager::kNacc,        3000,0.,3000.);
//  if(hasMC)  hf->AddCutVariable(AliDielectronVarManager::kNVtxContrib,   20,0.,4000.);

  // pair variables //ATTENTION
  if(hasMC && 0) hf->AddCutVariable(AliDielectronVarManager::kY,  18, -0.9,  0.9);
  //  hf->AddCutVariable(AliDielectronVarManager::kPt, 10,  0.0, 10.0);
  if(!hasMC)
     hf->AddCutVariable(AliDielectronVarManager::kPt, AliDielectronHelper::MakeArbitraryBinning("0,1,2,3,4,5,6,7,8,9,10,100"));
  //  hf->AddCutVariable(AliDielectronVarManager::kPt, 20,  0.0, 10.0);
  else
    hf->AddCutVariable(AliDielectronVarManager::kPt, 50,  0.0, 10.0);

  //    if(hasMC) hf->AddCutVariable(AliDielectronVarManager::kTRDpidEffPair,101,0.0,1.01);
  //    if(hasMC) hf->AddCutVariable(AliDielectronVarManager::kThetaCS,15,-1.,1.);

  // flow variables //
  //  if(!hasMC) hf->AddCutVariable(AliDielectronVarManager::kDeltaPhiv0ArpH2, GetDeltaPhiBins());
  //  if(!hasMC) hf->AddCutVariable(AliDielectronVarManager::kDeltaPhiv0CrpH2, GetDeltaPhiBins());
  if(!hasMC && bHistFlow) hf->AddCutVariable(AliDielectronVarManager::kDeltaPhiTPCrpH2, GetDeltaPhiBins());

  // leg variables // NOTE: switched off in HF??
  //  if(hasMC) hf->AddCutVariable(AliDielectronVarManager::kPt, "0.85, 0.95, 1.1, 100.0", kTRUE, AliDielectronHF::kBinToMax);
  // if(hasMC) hf->AddCutVariable(AliDielectronVarManager::kEta,"-0.9,-0.8,0.8,0.9",      kTRUE, AliDielectronHF::kSymBin);
  //  hf->AddCutVariable(AliDielectronVarManager::kY,           1, -0.9, 0.9                     );
  //  hf->AddCutVariable(AliDielectronVarManager::kPt,          "0.8, 1.0, 1.1, 1.2, 1.5, 100.0", kTRUE, AliDielectronHF::kBinToMax);
  //  hf->AddCutVariable(AliDielectronVarManager::kNclsTPC,     "70,90,100,120,160",              kTRUE, AliDielectronHF::kBinToMax);
  //  hf->AddCutVariable(AliDielectronVarManager::kTPCnSigmaEle,"-4,-3,-2.5,-2,2,2.5,3,4",        kTRUE, AliDielectronHF::kSymBin);
  //hf->AddCutVariable(AliDielectronVarManager::kTPCnSigmaPio,"3.,3.5,4.,100.",                 kTRUE, AliDielectronHF::kBinToMax);
  //hf->AddCutVariable(AliDielectronVarManager::kITSLayerFirstCls,4,0.,4.,              kFALSE, kTRUE, AliDielectronHF::kBinFromMin);
  //hf->AddCutVariable(AliDielectronVarManager::kNclsITS,         5,2.,7.,              kFALSE, kTRUE, AliDielectronHF::kBinToMax);
  //hf->AddCutVariable(AliDielectronVarManager::kRunNumber,  GetRunNumbers2011());
  */
  die->SetHistogramArray(hf);
}

void InitCF(AliDielectron* die, Int_t cutDefinition)
{
  //
  // Setup the CF Manager if needed
  //
  // do not fill
  switch(cutDefinition) {
  case kNoCut:
  case kEvent:
  case kPIDqa:
  case kLegEff:
  case kNoPID:
  case kAvgPt: //////////////////NEW
    return;
  }

  // has mc
  Bool_t hasMC=die->GetHasMC();

  // mixing
  AliDielectronMixingHandler *mixH=die->GetMixingHandler();
  Int_t maxMixBins = (mixH ? mixH->GetNumberOfBins() : 0);

  // container
  AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());

  //event variables
  //cf->AddVariable(AliDielectronVarManager::kCentrality,"0.,5.0,10.0,15.0,20.0,25.0,30.0,35.0,40.0,50.0");
  cf->AddVariable(AliDielectronVarManager::kCentrality,"0.,5.0,10.0,15.0,20.0,25.0,30.0,35.0,40.0,50.0,60.0,70.0,80.,90.");
  //  cf->AddVariable(AliDielectronVarManager::kRunNumber, GetRunNumbers2011() );
  if(mixH && maxMixBins)  cf->AddVariable(AliDielectronVarManager::kMixingBin, AliDielectronHelper::MakeLinBinning(maxMixBins,0,maxMixBins));

  //pair variables
  TVectorD *vpt = AliDielectronHelper::MakeLinBinning( 21,  0.0,    10.5);
  (*vpt)[21] = 100.;
  cf->AddVariable(AliDielectronVarManager::kPt, vpt);
  // TVectorD *vpt = AliDielectronHelper::MakeLinBinning( 41,  0.0,    10.25);
  // (*vpt)[41] = 100.;
  //  cf->AddVariable(AliDielectronVarManager::kPt,vpt);
  //  cf->AddVariable(AliDielectronVarManager::kPt,80,0.0,100*0.25);

  //  cf->AddVariable(AliDielectronVarManager::kY,"-5,-1,-0.9,-0.8,-0.5,0.5,0.8,0.9,1.0,5");
  cf->AddVariable(AliDielectronVarManager::kY,"-0.9,-0.8,-0.7,+0.7,+0.8,+0.9");
  //  cf->AddVariable(AliDielectronVarManager::kY,18,-0.9,+0.9);
  cf->AddVariable(AliDielectronVarManager::kM,125,0.,125*.04); //40Mev Steps
  //  cf->AddVariable(AliDielectronVarManager::kPairType,1,1,1);
  cf->AddVariable(AliDielectronVarManager::kPairType,11,0,11);
  //  cf->AddVariable(AliDielectronVarManager::kThetaCS,20,-1.,+1.);
  //  cf->AddVariable(AliDielectronVarManager::kThetaHE,20,-1.,+1.);
  //  cf->AddVariable(AliDielectronVarManager::kPhiCS,20,-3.2,+3.2);
  //  cf->AddVariable(AliDielectronVarManager::kPhiHE,20,-3.2,+3.2);
  ///  cf->AddVariable(AliDielectronVarManager::kDeltaPhiTPCrpH2,GetDeltaPhiBins());

  if(cutDefinition==kAvgPt && 0) { //ATTENTION
    cf->AddVariable(AliDielectronVarManager::kPairEff,  AliDielectronHelper::MakeArbitraryBinning(".0,.01,.02,.03,.04,.05,.1,1."));
  }

  //leg variables
  if(cutDefinition==kSysMC) { //ATTENTION
    //  if(cutDefinition!=kSysMCele && 0) { //ATTENTION
    cf->AddVariable(AliDielectronVarManager::kPt,"0.85, 1.1, 100.0",kTRUE);
    //  cf->AddVariable(AliDielectronVarManager::kNclsTPC,"0, 70, 80, 90, 100, 120, 160",kTRUE);
    cf->AddVariable(AliDielectronVarManager::kEta,"-0.9,-0.85,-0.8,-0.75,-0.70,0.70,0.75,0.8,0.85,0.9",kTRUE);
    cf->AddVariable(AliDielectronVarManager::kITSLayerFirstCls,3,-1.5,1.5,kTRUE);
    cf->AddVariable(AliDielectronVarManager::kTPCnSigmaPro,"3.5,4.0,4.5,100",kTRUE);
    cf->AddVariable(AliDielectronVarManager::kTPCnSigmaEle,"-1.5,-1.0,-0.6,3.0",kTRUE);
  }
  else if(0){
    cf->AddVariable(AliDielectronVarManager::kTPCnSigmaEle,"-3.0,-1.5,-1.0,-0.6,3.0",kTRUE);
  }
  /*
  // event variables
  cf->AddVariable(AliDielectronVarManager::kCentrality,               18,0.,  90.);
  if(hasMC)  cf->AddVariable(AliDielectronVarManager::kRunNumber, GetRunNumbers2011() );
  //  if(hasMC)  cf->AddVariable(AliDielectronVarManager::kNacc,        3000,0.,3000.);
  //  if(hasMC)  cf->AddVariable(AliDielectronVarManager::kNVtxContrib,   20,0.,4000.);

  // pair variables
  if(hasMC)  cf->AddVariable(AliDielectronVarManager::kPairType,1,1,1);
  else       cf->AddVariable(AliDielectronVarManager::kPairType,11,0,11);
  cf->AddVariable(AliDielectronVarManager::kM, 125,  0.0,  5.0); //40Mev Steps
  if(hasMC)  cf->AddVariable(AliDielectronVarManager::kY,  18, -0.9,  0.9);
  if(hasMC)  cf->AddVariable(AliDielectronVarManager::kPt, 100,  0.0, 20.0);
  else       cf->AddVariable(AliDielectronVarManager::kPt, AliDielectronHelper::MakeArbitraryBinning("0,1,2,3,4,5,6,7,8,9,10,20"));
  //    if(hasMC) cf->AddVariable(AliDielectronVarManager::kTRDpidEffPair,101,0.0,1.01);
  //    if(hasMC) cf->AddVariable(AliDielectronVarManager::kThetaCS,15,-1.,1.);

  // flow variables
  //if(!hasMC) cf->AddVariable(AliDielectronVarManager::kDeltaPhiv0ArpH2, GetDeltaPhiBins());
  //if(!hasMC) cf->AddVariable(AliDielectronVarManager::kDeltaPhiv0CrpH2, GetDeltaPhiBins());

  // leg variables
  if(hasMC) cf->AddVariable(AliDielectronVarManager::kPt,"0.0, 0.85, 0.95, 1.0, 1.1, 100.0",kTRUE);
  if(hasMC) cf->AddVariable(AliDielectronVarManager::kEta,"-0.9,-0.8,-0.7, 0.7, 0.8, 0.9",  kTRUE);
  //    cf->AddVariable(AliDielectronVarManager::kITSLayerFirstCls,7,-1.5,5.5,kTRUE);
  //    cf->AddVariable(AliDielectronVarManager::kNclsITS,"1,2,3,4,5,6",kTRUE);
  //    cf->AddVariable(AliDielectronVarManager::kTPCnSigmaEle,"-3,-2.5,-2,2,2.5,3",kTRUE);
  //    cf->AddVariable(AliDielectronVarManager::kTPCnSigmaPio,"2.5,3.0,3.5,4.0,4.5,100",kTRUE);
  //    cf->AddVariable(AliDielectronVarManager::kNclsTPC,"70, 90, 100, 120, 160",kTRUE);
  //    cf->AddVariable(AliDielectronVarManager::kTPCnSigmaPro,"3.5,4.0,4.5,5.0,100",kTRUE);
  //    cf->AddVariable(AliDielectronVarManager::kTOFnSigmaEle,"-3,-2,2,3",kTRUE); break;
  //    cf->AddVariable(AliDielectronVarManager::kTRDpidQuality,"3.5, 4.5, 5.5, 6.5",kTRUE);
  //    if(!hasMC && isESD) cf->AddVariable(AliDielectronVarManager::kTRDchi2,"-1.,0.,2.,4.",kTRUE);
  */
  // mc steps
  if(hasMC) {
    cf->SetStepForMCtruth();
    //    cf->SetStepForNoCutsMCmotherPid();
    //    cf->SetStepForAfterAllCuts();
    //    cf->SetStepsForEachCut();
    //    cf->SetStepsForSignal();
    //    cf->SetStepsForBackground();
    if(cutDefinition!=kAvgPt) cf->SetStepsForMCtruthOnly();
  }
  else
    cf->SetStepsForSignal();

  die->SetCFManagerPair(cf);
}

void AddMCSignals(AliDielectron *die, Int_t cutDefinition){
  //Do we have an MC handler?
  if (!die->GetHasMC()) return;

  AliDielectronSignalMC* inclusiveJpsi = new AliDielectronSignalMC("inclusiveJpsi","Inclusive");
  inclusiveJpsi->SetLegPDGs(11,-11);
  inclusiveJpsi->SetMotherPDGs(443,443);
  inclusiveJpsi->SetMothersRelation(AliDielectronSignalMC::kSame);
  inclusiveJpsi->SetFillPureMCStep(kTRUE);
  inclusiveJpsi->SetCheckBothChargesLegs(kTRUE,kTRUE);
  inclusiveJpsi->SetCheckBothChargesMothers(kTRUE,kTRUE);

  AliDielectronSignalMC* beautyJpsi = new AliDielectronSignalMC("beautyJpsi","Beauty");
  beautyJpsi->SetLegPDGs(11,-11);
  beautyJpsi->SetMotherPDGs(443,443);
  beautyJpsi->SetMothersRelation(AliDielectronSignalMC::kSame);
  beautyJpsi->SetGrandMotherPDGs(500,500);
  beautyJpsi->SetFillPureMCStep(kTRUE);
  beautyJpsi->SetCheckBothChargesLegs(kTRUE,kTRUE);
  beautyJpsi->SetCheckBothChargesMothers(kTRUE,kTRUE);
  beautyJpsi->SetCheckBothChargesGrandMothers(kTRUE,kTRUE);

  AliDielectronSignalMC* promptJpsi = new AliDielectronSignalMC("promptJpsi","Prompt");   // prompt J/psi (not from beauty decays)
  promptJpsi->SetLegPDGs(11,-11);
  promptJpsi->SetMotherPDGs(443,443);
  promptJpsi->SetGrandMotherPDGs(503,503,kTRUE,kTRUE);   // not from beauty hadrons
  promptJpsi->SetMothersRelation(AliDielectronSignalMC::kSame);
  promptJpsi->SetFillPureMCStep(kTRUE);
  promptJpsi->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  promptJpsi->SetCheckBothChargesLegs(kTRUE,kTRUE);
  promptJpsi->SetCheckBothChargesMothers(kTRUE,kTRUE);
  promptJpsi->SetCheckBothChargesGrandMothers(kTRUE,kTRUE);

  // prompt J/psi radiative channel
  AliDielectronSignalMC* promptJpsiRad = new AliDielectronSignalMC("promptJpsiRad","PromptRadiative");   // prompt J/psi (not from beauty decays)
  promptJpsiRad->SetLegPDGs(11,-11);
  promptJpsiRad->SetMotherPDGs(443,443);
  promptJpsiRad->SetGrandMotherPDGs(503,503,kTRUE,kTRUE);   // not from beauty hadrons
  promptJpsiRad->SetMothersRelation(AliDielectronSignalMC::kSame);
  promptJpsiRad->SetFillPureMCStep(kTRUE);
  promptJpsiRad->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  promptJpsiRad->SetCheckBothChargesLegs(kTRUE,kTRUE);
  promptJpsiRad->SetCheckBothChargesMothers(kTRUE,kTRUE);
  promptJpsiRad->SetCheckBothChargesGrandMothers(kTRUE,kTRUE);
  promptJpsiRad->SetJpsiRadiative(AliDielectronSignalMC::kIsRadiative);

  // prompt J/psi Non radiative channel
  AliDielectronSignalMC* promptJpsiNonRad = new AliDielectronSignalMC("promptJpsiNonRad","PromptNonRadiative");   // prompt J/psi (not from beauty decays)
  promptJpsiNonRad->SetLegPDGs(11,-11);
  promptJpsiNonRad->SetMotherPDGs(443,443);
  promptJpsiNonRad->SetGrandMotherPDGs(503,503,kTRUE,kTRUE);   // not from beauty hadrons
  promptJpsiNonRad->SetMothersRelation(AliDielectronSignalMC::kSame);
  promptJpsiNonRad->SetFillPureMCStep(kTRUE);
  promptJpsiNonRad->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  promptJpsiNonRad->SetCheckBothChargesLegs(kTRUE,kTRUE);
  promptJpsiNonRad->SetCheckBothChargesMothers(kTRUE,kTRUE);
  promptJpsiNonRad->SetCheckBothChargesGrandMothers(kTRUE,kTRUE);
  promptJpsiNonRad->SetJpsiRadiative(AliDielectronSignalMC::kIsNotRadiative);

  AliDielectronSignalMC* directJpsi = new AliDielectronSignalMC("directJpsi","Direct");   // embedded J/psi
  directJpsi->SetLegPDGs(11,-11);
  directJpsi->SetMotherPDGs(443,443);
  directJpsi->SetMothersRelation(AliDielectronSignalMC::kSame);
  directJpsi->SetFillPureMCStep(kTRUE);
  directJpsi->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  directJpsi->SetMotherSources(AliDielectronSignalMC::kDirect, AliDielectronSignalMC::kDirect);
  directJpsi->SetCheckBothChargesLegs(kTRUE,kTRUE);
  directJpsi->SetCheckBothChargesMothers(kTRUE,kTRUE);

  AliDielectronSignalMC* gammaConversion = new AliDielectronSignalMC("gammaConversion","gamma conversions");
  gammaConversion->SetLegPDGs(11,-11);
  gammaConversion->SetCheckBothChargesLegs(kTRUE,kTRUE);
  gammaConversion->SetLegSources(AliDielectronSignalMC::kSecondary, AliDielectronSignalMC::kSecondary);
  gammaConversion->SetMotherPDGs(22,22);
  gammaConversion->SetMothersRelation(AliDielectronSignalMC::kSame);


  AliDielectronSignalMC* electrons = new AliDielectronSignalMC("electrons","electrons");
  electrons->SetLegPDGs(11,1);  //dummy second leg (never MCtrue)
  electrons->SetCheckBothChargesLegs(kTRUE,kTRUE);
  electrons->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  //  electrons->SetGrandMotherPDGs(500,500,kTRUE,kTRUE); // exclude non-prompt jpsi eletrons
  electrons->SetFillPureMCStep(kTRUE);
  //  electrons->SetMothersRelation(AliDielectronSignalMC::kSame);

  AliDielectronSignalMC* directElec = new AliDielectronSignalMC("directElec","directElec");
  directElec->SetLegPDGs(11,1); //NEW
  //  directElec->SetMothersRelation(AliDielectronSignalMC::kSame);
  //  directElec->SetGrandMotherPDGs(-1103,-1103);
  directElec->SetFillPureMCStep(kTRUE);
  directElec->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  directElec->SetMotherSources(AliDielectronSignalMC::kDirect, AliDielectronSignalMC::kDirect);
  directElec->SetCheckBothChargesLegs(kTRUE,kTRUE);
  // new
  directElec->SetCheckBothChargesGrandMothers(kTRUE,kTRUE);
  directElec->SetGrandMotherPDGs(902,902,kTRUE,kTRUE); // exclude open charm,beauty hadrons


  AliDielectronSignalMC* elecPrim = new AliDielectronSignalMC("elecPrim","elecPrim");
  elecPrim->SetLegPDGs(11,1);  //dummy second leg (never MCtrue)
  elecPrim->SetCheckBothChargesLegs(kTRUE,kTRUE);
  elecPrim->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  elecPrim->SetCheckBothChargesMothers(kTRUE,kTRUE);
  elecPrim->SetMotherPDGs(902,902,kTRUE,kTRUE); // exclude open charm,beauty hadrons
  elecPrim->SetCheckBothChargesGrandMothers(kTRUE,kTRUE);
  elecPrim->SetGrandMotherPDGs(902,902,kTRUE,kTRUE); // exclude open charm,beauty hadrons
  elecPrim->SetFillPureMCStep(kTRUE);

  // add direct di lepton resonances
  /*
  AliDielectronSignalMC* directP[7];
  TParticlePDG *ap;
  Int_t pdg[] = {111, 113, 221, 223, 331, 333, 443};
  for(Int_t i=0; i<7; i++) {
    ap = TDatabasePDG::Instance()->GetParticle(pdg[i]);
    directP[i] = new AliDielectronSignalMC(Form("direct%s",ap->GetName()),Form("direct%s",ap->GetName()));
    directP[i]->SetLegPDGs(11,-11);
    directP[i]->SetMotherPDGs(pdg[i],pdg[i]);
    directP[i]->SetMothersRelation(AliDielectronSignalMC::kSame);
    directP[i]->SetFillPureMCStep(kTRUE);
    directP[i]->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
    directP[i]->SetMotherSources(AliDielectronSignalMC::kDirect, AliDielectronSignalMC::kDirect);
    // directP[i]->SetCheckBothChargesLegs(kTRUE,kTRUE);
    // directP[i]->SetCheckBothChargesMothers(kTRUE,kTRUE);
  }
  */

  /*
  AliDielectronSignalMC* eleHijing = new AliDielectronSignalMC("eleHijing","eleHijing");
  eleHijing->SetLegPDGs(11,1);  //dummy second leg (never MCtrue)
  eleHijing->SetCheckBothChargesLegs(kTRUE,kTRUE);
  eleHijing->SetLegSources(AliDielectronSignalMC::kNoCocktail, AliDielectronSignalMC::kNoCocktail);
  eleHijing->SetFillPureMCStep(kTRUE);
  */
  /*
  AliDielectronSignalMC* electrons = new AliDielectronSignalMC("electrons","electrons");
  electrons->SetLegPDGs(11,-11);  //dummy second leg (never MCtrue)
  electrons->SetCheckBothChargesLegs(kTRUE,kTRUE);
  electrons->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  //  electrons->SetMotherPDGs(111,111,kTRUE,kTRUE);   // not from pi0
  //  electrons->SetMothersRelation(AliDielectronSignalMC::kSame);
  electrons->SetFillPureMCStep(kTRUE);
  */

  // selection
  switch(cutDefinition) {
  case kPIDqa:
    return;
    //die->AddSignalMC(directElec);
    break;
  case kRec:
    die->AddSignalMC(inclusiveJpsi);
    die->AddSignalMC(directJpsi);
    break;
  case kStd:
    die->AddSignalMC(inclusiveJpsi);
    //  die->AddSignalMC(beautyJpsi);
    //die->AddSignalMC(promptJpsi);
    //die->AddSignalMC(promptJpsiRad);
    //die->AddSignalMC(promptJpsiNonRad);
    die->AddSignalMC(directJpsi);
    //  die->AddSignalMC(gammaConversion);
    break;
  case kAvgPt:
    die->AddSignalMC(inclusiveJpsi);
    //    die->AddSignalMC(directJpsi);
    break;
  case kLegEff:
    // die->AddSignalMC(directJpsi);
    // die->AddSignalMC(inclusiveJpsi);
    // die->AddSignalMC(electrons);
    // die->AddSignalMC(elecPrim);
    die->AddSignalMC(directElec);
    //for(Int_t i=0; i<7; i++) die->AddSignalMC(directP[i]);
    break;
  default:
    die->AddSignalMC(directJpsi);
    break;
  }


}

void SetEtaCorrection(AliDielectron *die) {


  //  if(cutDefinition==kLegEff) return;
  //  if (pid->GetCentroidCorrFunction()) return;
  Bool_t hasMC=die->GetHasMC();
  Bool_t hasTuneOnData=kFALSE;
  //    ((AliAnalysisTaskPIDResponse*)AliAnalysisManager::GetAnalysisManager()->GetTasks()->At(0))->GetTuneOnData();
  printf("tune on data switched: %d \n",hasTuneOnData);
  // printf("name task at 0: %s \n",AliAnalysisManager::GetAnalysisManager()->GetTasks()->At(0)->GetName());
  // printf("input event %p \n", AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
  // printf("pid response %p \n",((AliInputEventHandler*)AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler())->GetPIDResponse());
  // printf("pid response task %p \n",AliAnalysisManager::GetAnalysisManager()->GetTasks()->At(0));
  // AliAnalysisManager::GetAnalysisManager()->GetTasks()->At(0)->Dump();;

  // AliAnalysisManager* man = AliAnalysisManager::GetAnalysisManager();
  // AliInputEventHandler* inputHandler = dynamic_cast<AliInputEventHandler*>(man->GetInputEventHandler());
  // AliPIDResponse* pidResponse = inputHandler->GetPIDResponse();
  // if(pidResponse) hasTuneOnData = pidResponse->IsTunedOnData();
  // printf("man %p inp %p pid %p ====> %d \n",man,inputHandler,pidResponse,hasTuneOnData);

  TF2 *fCntrdCorr=0x0;
  TF1 *fWdthCorr=0x0;
  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DATA vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  // either data or MC with tune on data option
  if( !hasMC /*|| hasTuneOnData*/ ) {
    // 2-dimensional eta correction for the centroid of electron sigmas
    fCntrdCorr = new TF2("fCntrdCorr", 
			 "[0] + [1]*y + [2]*y*y + [3]*TMath::Power(y,3) + [4]*TMath::Power(y,4) + [5]*TMath::Power(y,5) + [6]*TMath::Power(y,6) + [7]*x",
			 //			      0.0, 3000.0, -0.9, +0.9);
			 0.0, 90.0, -0.9, +0.9);
    // fCntrdCorr->SetParameters(0.723106, 0.23958, -6.31221, -0.687976, 15.912, 0.579609, -11.6901, -0.000354381); //Nacc dep.
    fCntrdCorr->SetParameters(+0.149002, +0.214644 , -6.034930, -0.529588, +14.97902, +0.402640, -10.890027, +0.011248); //Cent
    
    // 1-dimensional eta correction for the width of electron sigmas
    fWdthCorr = new TF1("fWdthCorr", "pol2", 0.0, 90.0);
    //    fWdthCorr->SetParameters(1.06108, 0.000217804,-5.80291e-08); //Nacc dep.
    fWdthCorr->SetParameters(+1.290755, -0.005261, +0.000021); //Cent dep.

    // apply corrections
    // die->SetCentroidCorrFunction(fCntrdCorr,AliDielectronVarManager::kNacc,AliDielectronVarManager::kEta);
    // die->SetWidthCorrFunction(fWdthCorr,AliDielectronVarManager::kNacc);
    die->SetCentroidCorrFunction(fCntrdCorr,AliDielectronVarManager::kCentrality,AliDielectronVarManager::kEta);
    die->SetWidthCorrFunction(fWdthCorr,AliDielectronVarManager::kCentrality);
    printf(" DATA PID correction loaded!!!\n");
  }
  else  {
    /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv MONTE CARLO vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
    // 2-dimensional eta correction for the centroid and width  of electron sigmas
    fCntrdCorr = new TF2("fCntrdCorr", 
			 "[0] + [1]*y + [2]*y*y + [3]*TMath::Power(y,3) + [4]*TMath::Power(y,4) + [5]*TMath::Power(y,5) + [6]*TMath::Power(y,6) + [7]*x",
			 0.0, 3000.0, -0.9, +0.9);
    fCntrdCorr->SetParameters(+0.293718,
			      +0.010037,
			      -2.632949,
			      -0.241412,
			      +8.304244,
			      +0.525481,
			      -4.874357,
			      -0.000103);  //TPCrefMult dep.
    fWdthCorr = new TF2("fWdthCorr", 
			 "[0] + [1]*y + [2]*y*y + [3]*TMath::Power(y,3) + [4]*TMath::Power(y,4) + [5]*TMath::Power(y,5) + [6]*TMath::Power(y,6) + [7]*x",
			 0.0, 3000.0, -0.9, +0.9);
    fWdthCorr->SetParameters(+0.917840,
			      -0.021500,
			      -0.628371,
			      +0.230847,
			      +1.434907,
			      -0.330751,
			      -0.458941,
			      +0.000036);  //TPCrefMult dep.

    // apply corrections
    die->SetCentroidCorrFunction(fCntrdCorr,
				 AliDielectronVarManager::kRefMultTPConly,
				 AliDielectronVarManager::kEta);
    die->SetWidthCorrFunction(fWdthCorr,
			      AliDielectronVarManager::kRefMultTPConly,
			      AliDielectronVarManager::kEta);
    /*
    // 2-dimensional eta correction for the centroid of electron sigmas
    fCntrdCorr = new TF2("fCntrdCorr", "[0] + [1]*y + [2]*y*y + [3]*TMath::Power(y,3) + [4]*TMath::Power(y,4) + [5]*TMath::Power(y,5) + [6]*TMath::Power(y,6) + [7]*x",
			      0.0, 3000.0, -0.9, +0.9);
    fCntrdCorr->SetParameters(+0.378611, -0.070831, -3.076778, +0.121977, +8.576097, +0.113009, -5.001368, -0.000181);
    // 1-dimensional eta correction for the width of electron sigmas
    fWdthCorr = new TF1("fWdthCorr", "pol1", 0.0, 3000.0);
    fWdthCorr->SetParameters(+0.881894, +0.000053);

    // apply corrections
    die->SetCentroidCorrFunction(fCntrdCorr,AliDielectronVarManager::kNacc,AliDielectronVarManager::kEta);
    die->SetWidthCorrFunction(fWdthCorr,AliDielectronVarManager::kNacc);
    // die->SetCentroidCorrFunction(fCntrdCorr,AliDielectronVarManager::kCentrality,AliDielectronVarManager::kEta);
    // die->SetWidthCorrFunction(fWdthCorr,AliDielectronVarManager::kCentrality);
    */
    printf(" MC PID correction loaded!!!\n");
  }


}

TVectorD *GetRunNumbers2011() {
  
  Double_t runLHC10h[] = { // all good runs based on RCT 29.Mai
    139510, 139507, 139505, 139503, 139465, 139438, 139437, 139360, 139329, 139328, 139314, 139310, 139309, 139173, 139107, 139105, 139038, 139037, 139036, 139029, 139028, 138872, 138871, 138870, 138837, 138732, 138730, 138666, 138662, 138653, 138652, 138638, 138624, 138621, 138583, 138582, 138579, 138578, 138534, 138469, 138442, 138439, 138438, 138396, 138364, 138275, 138225, 138201, 138197, 138192, 138190, 137848, 137844, 137752, 137751, 137724, 137722, 137718, 137704, 137693, 137692, 137691, 137686, 137685, 137639, 137638, 137608, 137595, 137549, 137546, 137544, 137541, 137539, 137531, 137530, 137443, 137441, 137440, 137439, 137434, 137432, 137431, 137430, 137366, 137243, 137236, 137235, 137232, 137231, 137230, 137162, 137161, 137135
  };
  Double_t runLHC11h[] = { // all good runs based on RCT 29.Mai
    167915, 167920, 167985, 167987, 167988, 168069, 168076, 168105, 168107, 168108, 168115, 168310, 168311, 168322, 168325, 168341, 168342, 168361, 168362, 168458, 168460, 168464, 168467, 168511, 168512, 168514, 168777, 168826, 168988, 168992, 169035, 169040, 169044, 169045, 169091, 169094, 169099, 169138, 169144, 169145, 169148, 169156, 169160, 169167, 169238, 169411, 169415, 169417, 169418, 169419, 169420, 169475, 169498, 169504, 169506, 169512, 169515, 169550, 169553, 169554, 169555, 169557, 169586, 169587, 169588, 169590, 169591, 169835, 169837, 169838, 169846, 169855, 169858, 169859, 169923, 169965, 170027, 170040, 170081, 170083, 170084, 170085, 170088, 170089, 170091, 170155, 170159, 170163, 170193, 170203, 170204, 170207, 170228, 170230, 170268, 170269, 170270, 170306, 170308, 170309, 170311, 170312, 170313, 170315, 170387, 170388, 170572, 170593, 
    170593+1
  };
  /*
  if(list.Contains("LHC10h") || list.Contains("LHC11a10")) {
  if( list.Contains("LHC11h") || list.Contains("LHC12a17") ) {
  */  
  Int_t size = (int) (sizeof(runLHC11h)/sizeof(Double_t));
  TVectorD *vec = new TVectorD(size,runLHC11h);
  //vec->Print("");
  return vec;
}

TVectorD *GetPDGcodes() {
  //
  // array of pdgcodes stored in TDatabasePDG
  //
  TDatabasePDG *pdg = new TDatabasePDG();
  pdg->ReadPDGTable();
  TGraph *gr = new TGraph();
  TIter next(pdg->ParticleList());
  TParticlePDG *p;
  Int_t i=0;
  while ((p = (TParticlePDG *)next())) {
    if(TMath::Abs(p->PdgCode()) < 1e+6) {
      //      printf("%s -> %d \n",p->GetName(),p->PdgCode());
      gr->SetPoint(i++, p->PdgCode(),1.);
    }
  }
  gr->Sort();
  TVectorD *vec = new TVectorD(gr->GetN(), gr->GetX());
  //  vec->Print();
  delete pdg;
  delete gr;
  return vec;

}

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