ROOT logo
void InitHistograms(AliDielectron *die, Int_t cutDefinition);
void InitCF(AliDielectron* die, Int_t cutDefinition);

void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition);
void SetupElectronCuts(AliDielectron *die, Int_t cutDefinition);

TVectorD *GetRunNumbers();
TVectorD *BinsToVector(Int_t nbins, Double_t min, Double_t max);

TString names=("CutStats;noPID;TPC;TOF;TRD;TOFTRD;TOFTRD2D;TRDeff;e_mcPid;jpsi_mcPid;conv_mcPid");
enum {kCutStats=0, knoPID, kTPC, kTOF, kTRD, kTOFTRD, kTOFTRD2D, kTRDeff, kEleMC, kEleJPsiMC, kEleConvMC};
TObjArray *arrNames=names.Tokenize(";");

const Int_t nDie=arrNames->GetEntries();

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

AliDielectron* ConfigJpsiQA_jb_PbPb(Int_t cutDefinition, TString prod="")
{
  //
  // Setup the instance of AliDielectron
  //

  // 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") ) hasMC=kTRUE;

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

  // switch off some configurations
  if(hasMC) { // MONTE CARLO
    switch(cutDefinition) {
    case kCutStats:  return 0x0;
    case knoPID:     return 0x0;
    case kTPC:       return 0x0;
    case kTOF:       return 0x0;
    case kTRD:       return 0x0;
    case kTOFTRD:    return 0x0;
    case kTOFTRD2D:  return 0x0;
    case kTRDeff:    return 0x0;
    case kEleMC:     return 0x0;
    case kEleJPsiMC: return 0x0;
    case kEleConvMC: return 0x0;
    }
  } else { // COLLISION DATA
    switch(cutDefinition) {
      //            case kCutStats:  return 0x0;
      //            case knoPID:     return 0x0;
      //            case kTPC:       return 0x0;
      //            case kTOF:       return 0x0;
      //            case kTRD:       return 0x0;
      //            case kTOFTRD:    return 0x0;
    case kTOFTRD2D:  return 0x0;
    case kTRDeff:    return 0x0;
    case kEleMC:     return 0x0;
    case kEleJPsiMC: return 0x0;
    case kEleConvMC: return 0x0;
    }
  }

  // create the actual framework object
  TString name=Form("%02d",cutDefinition);
  if (cutDefinition<arrNames->GetEntriesFast()){
    name=arrNames->At(cutDefinition)->GetName();
  }
  AliDielectron *die = new AliDielectron(Form("%s",name.Data()),Form("Track cuts: %s",name.Data()));
  die->SetHasMC(hasMC);

  printf(" Add %s %s config %s for %s \n",(isESD?"ESD":"AOD"),(hasMC?"MC":""),name.Data(),list.Data());

  //only track QA, no Pairing
  if(cutDefinition<kTRDeff) {
    die->SetNoPairing();
    printf(" Set no pairing \n");
  }
  
  // cut setup
  if(cutDefinition!=kTRDeff) SetupTrackCuts(die,cutDefinition);
  if(cutDefinition==kTRDeff) SetupElectronCuts(die,cutDefinition);
  
  // histogram setup
  InitHistograms(die,cutDefinition);
  //  printf(" Add %d types and %03d histos to the manager \n",die->GetHistogramList()->GetEntries(),
  //	 die->GetHistoManager()->GetList()->GetEntries());
  
  // CF container setup
  if(cutDefinition == kTRDeff ) {
    InitCF(die,cutDefinition);
    printf(" Add %d pair, %d leg vars, %p steps and %p bins to the container \n",
	   die->GetCFManagerPair()->GetNvarsPair(),die->GetCFManagerPair()->GetNvarsLeg(),
	   die->GetCFManagerPair()->GetContainer(), die->GetCFManagerPair()->GetContainer() );
  }

  
  return die;
}
//______________________________________________________________________________________
void SetupElectronCuts(AliDielectron *die, Int_t cutDefinition)
{
  // Quality cuts
  AliDielectronCutGroup* cuts = new AliDielectronCutGroup("cuts","cuts",AliDielectronCutGroup::kCompAND);
  die->GetTrackFilter().AddCuts(cuts);
  
  // track cuts ESD and AOD
  AliDielectronVarCuts *varCuts = new AliDielectronVarCuts("VarCuts","VarCuts");
  varCuts->AddCut(AliDielectronVarManager::kEta,         -0.9,   0.9);
  varCuts->AddCut(AliDielectronVarManager::kP,             .75,  1e30);
  varCuts->AddCut(AliDielectronVarManager::kTRDpidQuality,1.0,   6.0);
  if(!isESD) varCuts->AddCut(AliDielectronVarManager::kV0Index0,     1.0);
  //  varCuts->AddCut(AliDielectronVarManager::kTPCchi2Cl,    0.0,   4.0);
  //  varCuts->AddCut(AliDielectronVarManager::kNclsTPC,     60.0, 160.0);
  //  varCuts->AddCut(AliDielectronVarManager::kKinkIndex0,   0.0);
  //  varCuts->AddCut(AliDielectronVarManager::kPt,           0.8,  1e30);
  cuts->AddCut(varCuts);
  
  AliDielectronTrackCuts *trkCuts = new AliDielectronTrackCuts("TrkCuts","TrkCuts");
  trkCuts->SetRequireTPCRefit(kTRUE);
  cuts->AddCut(trkCuts);
  
  // PID
  AliDielectronPID *pid = new AliDielectronPID("PID","PID cut");
  pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-5.0, 3.5, 0.0, 0.0,  kFALSE, AliDielectronPID::kRequire); 
  cuts->AddCut(pid);
  
  // Pair inclusion
  AliDielectronVarCuts *gammaCuts = new AliDielectronVarCuts("GammaCuts","GammaCuts");
  gammaCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0.0,   0.035); // 0.1
  //  gammaCuts->AddCut(AliDielectronVarManager::kCosPointingAngle, TMath::Cos(0.02),   1.0);
  //  gammaCuts->AddCut(AliDielectronVarManager::kLegDist,      0.0,   0.25);
  //  gammaCuts->AddCut(AliDielectronVarManager::kR,            3.0,   90.0);
  //  gammaCuts->AddCut(AliDielectronVarManager::kPsiPair,      0.0,   0.05);
  //  gammaCuts->AddCut(AliDielectronVarManager::kChi2NDF,      0.0,   10.0);
  gammaCuts->AddCut(AliDielectronVarManager::kM,            0.0,   0.05);
  die->GetPairFilter().AddCuts(gammaCuts);

  // Pair exclusion
  //  AliDielectronVarCuts *lambdaCuts = new AliDielectronVarCuts("LambdaCuts","LambdaCuts");
  //  lambdaCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0.0,   0.035, kTRUE); // 0.035
  //  lambdaCuts->AddCut(AliDielectronVarManager::kR,            3.0,   40.0, kTRUE);
  //  lambdaCuts->AddCut(AliDielectronVarManager::kChi2NDF,      0.0,   0.5,  kTRUE);
  //  lambdaCuts->AddCut(AliDielectronVarManager::kM,            1.01,  1.03, kTRUE);
  //  lambdaCuts->AddCut(AliDielectronVarManager::kY,            -0.9,  0.9,  kTRUE);
  //  die->GetPairFilter().AddCuts(lambdaCuts);
  //
  //  AliDielectronVarCuts *k0sCuts = new AliDielectronVarCuts("K0sCuts","K0sCuts");
  //  k0sCuts->AddCut(AliDielectronVarManager::kR,            3.0,   40.0,  kTRUE);
  //  k0sCuts->AddCut(AliDielectronVarManager::kChi2NDF,      0.0,   0.5,   kTRUE);
  //  k0sCuts->AddCut(AliDielectronVarManager::kM,            4.90,  0.504, kTRUE);
  //  k0sCuts->AddCut(AliDielectronVarManager::kY,            -0.9,  0.9,   kTRUE);
  //  die->GetPairFilter().AddCuts(k0sCuts);
  
  
}
//______________________________________________________________________________________
void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Setup the track cuts
  //

  // Quality cuts
  AliDielectronCutGroup* cuts = new AliDielectronCutGroup("cuts","cuts",AliDielectronCutGroup::kCompAND);
  die->GetTrackFilter().AddCuts(cuts);

  // AOD track filter (needs to be first cut)
  AliDielectronTrackCuts *trkFilter = new AliDielectronTrackCuts("TrkFilter","TrkFilter");
  trkFilter->SetAODFilterBit(AliDielectronTrackCuts::kTPCqualSPDanyPIDele);
  //  if(!isESD) cuts->AddCut(trkFilter);

  //Pt cut, should make execution a bit faster
  AliDielectronVarCuts *pt = new AliDielectronVarCuts("Pt>.8","Pt>.8");
  if(cutDefinition<kEleMC) 
    pt->AddCut(AliDielectronVarManager::kPt,0.8,1e30);
  else   
    pt->AddCut(AliDielectronVarManager::kPt,0.8,1e30);
  if(cutDefinition!=kCutStats && cutDefinition!=knoPID) cuts->AddCut(pt);
  
  // track cuts ESD and AOD
  AliDielectronVarCuts *varCuts = new AliDielectronVarCuts("VarCuts","VarCuts");
  varCuts->AddCut(AliDielectronVarManager::kImpactParXY, -1.0,   1.0);
  varCuts->AddCut(AliDielectronVarManager::kImpactParZ,  -3.0,   3.0);
  varCuts->AddCut(AliDielectronVarManager::kEta,         -0.9,   0.9);
  varCuts->AddCut(AliDielectronVarManager::kTPCchi2Cl,    0.0,   4.0);
  varCuts->AddCut(AliDielectronVarManager::kNclsTPC,     70.0, 160.0);
  varCuts->AddCut(AliDielectronVarManager::kKinkIndex0,   0.0);
  //varCuts->AddCut(AliDielectronVarManager::kTOFbeta,      0.2,   0.9, kTRUE);
  //if(!isESD) varCuts->AddCut(AliDielectronVarManager::kV0Index0,   0.0);
  if(cutDefinition!=kCutStats) cuts->AddCut(varCuts);
  
  AliDielectronTrackCuts *trkCuts = new AliDielectronTrackCuts("TrkCuts","TrkCuts");
  //  trkCuts->SetClusterRequirementITS(AliDielectronTrackCuts::kSPD,AliDielectronTrackCuts::kAny);
  trkCuts->SetITSclusterCut(AliDielectronTrackCuts::kOneOf, 15); // ITS-4 = 1+2+4+8
  trkCuts->SetRequireITSRefit(kTRUE);
  trkCuts->SetRequireTPCRefit(kTRUE);
  if(cutDefinition!=kCutStats) cuts->AddCut(trkCuts);
  
  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv PID CUTS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  AliDielectronPID *pid = new AliDielectronPID("PID","PID");
  
  ////////////////////////////////// DATA
  if(!hasMC && cutDefinition==kTPC) {
    pid->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,4.0,0.,0.,kTRUE);
    pid->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-100.,3.5,0.,0.,kTRUE);
  }
  
  ////////////////////////////////// MC
  if(hasMC) {
    if (cutDefinition>=kEleMC) {
      AliDielectronVarCuts *pdgCuts=new AliDielectronVarCuts("pdgCuts","pdgCuts");
      pdgCuts->SetCutType(AliDielectronVarCuts::kAny);
      pdgCuts->AddCut(AliDielectronVarManager::kPdgCode,11.);
      pdgCuts->AddCut(AliDielectronVarManager::kPdgCode,-11.);
      cuts->AddCut(pdgCuts);
      
      AliDielectronVarCuts *pdgMotherCutsT=new AliDielectronVarCuts("pdgMotherCutsT","pdgMotherCutsT");
      AliDielectronVarCuts *pdgMotherCutsP=new AliDielectronVarCuts("pdgMotherCutsP","pdgMotherCutsP");
      if (cutDefinition==kEleJPsiMC){
        //        pdgMotherCutsT->AddCut(AliDielectronVarManager::kPdgCodeMother,443.);
        //        cuts->AddCut(pdgMotherCutsT);        
        pdgMotherCutsP->AddCut(AliDielectronVarManager::kPdgCode,443.);
        pdgMotherCutsP->AddCut(AliDielectronVarManager::kHaveSameMother,1.);
        die->GetPairFilter().AddCuts(pdgMotherCutsP);
      }
      if (cutDefinition==kEleConvMC){
        pdgMotherCutsT->AddCut(AliDielectronVarManager::kPdgCodeMother,22.);
        cuts->AddCut(pdgMotherCutsT);        
        
        pdgMotherCutsP->AddCut(AliDielectronVarManager::kHaveSameMother,1.);
        die->GetPairFilter().AddCuts(pdgMotherCutsP);
      }
      
    }
  }
  ////////////////////////////////// DATA + MC
  // pid cuts TPC + TOF & TRD
  pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-4.,4.);

  if(cutDefinition==kTOF || cutDefinition==kTOFTRD || cutDefinition==kTOFTRD2D)
    pid->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3,3.,0.,0.,kFALSE,AliDielectronPID::kIfAvailable);

  if(cutDefinition==kTRD || cutDefinition==kTOFTRD)
    pid->AddCut(AliDielectronPID::kTRDeleEff,AliPID::kElectron,.8,1.,3.5.,6.,kFALSE,
                AliDielectronPID::kIfAvailable,AliDielectronVarManager::kTRDpidQuality);

  if(cutDefinition==kTOFTRD2D)
    pid->AddCut(AliDielectronPID::kTRDeleEff2D,AliPID::kElectron,.8,1.,3.5.,6.,kFALSE,
                AliDielectronPID::kIfAvailable,AliDielectronVarManager::kTRDpidQuality);

  if(cutDefinition!=knoPID && cutDefinition!=kCutStats && cutDefinition!=kTRDeff && !hasMC ) cuts->AddCut(pid);
  /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PID CUTS ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

  // exclude conversion electrons selected by the tender
  AliDielectronTrackCuts *noconv=new AliDielectronTrackCuts("noConv","noConv");
  noconv->SetV0DaughterCut(AliPID::kElectron,kTRUE);
  cuts->AddCut(noconv);
  
}

//______________________________________________________________________________________
void InitHistograms(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Initialise the histograms
  //
  
  //Setup histogram Manager
  AliDielectronHistos *histos=new AliDielectronHistos(die->GetName(), die->GetTitle());
  
  //Initialise histogram classes
  histos->SetReservedWords("Track;Pair");

  // booleans for histo selection
  Bool_t bHistEvts = kFALSE, bHistPair = kFALSE, bHistCuts = kFALSE, bHistPID = kFALSE, bHistEff=kFALSE, bHistRunQA=kFALSE;
  switch (cutDefinition) {
  case kCutStats:  bHistCuts=kTRUE; break;
  case knoPID:     bHistEvts=kTRUE; bHistPID=kTRUE; bHistRunQA=kTRUE; break;
  case kTPC:
  case kTOF:
  case kTRD:
  case kTOFTRD:
  case kTOFTRD2D:  bHistPID=kTRUE; break;
  case kTRDeff:    bHistEff=kTRUE; break;
  case kEleMC:
  case kEleJPsiMC:
  case kEleConvMC:
    bHistPair=kTRUE; break;
  }

  //Track classes
  //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)));
  }

  //add histograms to event class
  if (bHistEvts) {
    histos->AddClass("Event");
    histos->UserHistogram("Event","RunNumber",";run;#events",GetRunNumbers(),AliDielectronVarManager::kRunNumber);
    histos->UserHistogram("Event","VtxZ",";z_{vtx} (cm)",300,-15.,15.,AliDielectronVarManager::kZvPrim);
    if(hasMC) {
      histos->AddClass("MCEvent");
      histos->UserHistogram("MCEvent","NumberOfJPsis",";N_{J/#psi};#events",20,0.,20.,AliDielectronVarManager::kNumberOfJPsis);
    }
  }

  if (bHistRunQA) {
    if(!hasMC) {
    // Flow QA
    histos->UserHistogram("Event","TPCrpH2uc_RunNumber",";run;#Psi^{TPC} (rad.)",
                          GetRunNumbers(), BinsToVector(100,-2.,2.) ,
                          AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kTPCrpH2uc);
    histos->UserHistogram("Event","vOArpH2_RunNumber",";run;#Psi_{2}^{V0A} (rad.)",
                          GetRunNumbers(), BinsToVector(100,-2.,2.) ,
                          AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kv0ArpH2);
    histos->UserHistogram("Event","vOCrpH2_RunNumber",";run;#Psi_{2}^{V0C} (rad.)",
                          GetRunNumbers(), BinsToVector(100,-2.,2.) ,
                          AliDielectronVarManager::kRunNumber, AliDielectronVarManager::kv0CrpH2);

    histos->UserHistogram("Event","TPCrpH2uc_Cent_RunNumber",";centrality (%);#Psi^{TPC} (rad.);run",
                          BinsToVector(10,0.,100.), BinsToVector(100,-2.,2.), GetRunNumbers(),
                          AliDielectronVarManager::kCentrality,
                          AliDielectronVarManager::kTPCrpH2uc,
                          AliDielectronVarManager::kRunNumber );
    histos->UserHistogram("Event","vOArpH2_Cent_RunNumber",";centrality (%);#Psi_{2}^{V0A} (rad.);run",
                          BinsToVector(10,0.,100.), BinsToVector(100,-2.,2.), GetRunNumbers(),
                          AliDielectronVarManager::kCentrality,
                          AliDielectronVarManager::kv0ArpH2,
                          AliDielectronVarManager::kRunNumber );
    histos->UserHistogram("Event","vOCrpH2_Cent_RunNumber",";centrality (%);#Psi_{2}^{V0C} (rad.);run",
                          BinsToVector(10,0.,100.), BinsToVector(100,-2.,2.), GetRunNumbers(),
                          AliDielectronVarManager::kCentrality,
                          AliDielectronVarManager::kv0CrpH2,
                          AliDielectronVarManager::kRunNumber );
    }

    // PID QA
    histos->UserHistogram("Track","TPCnSigmaPio_Nacc_RunNumber",";N_{acc};run;n#sigma_{pio}^{TPC}",
                          BinsToVector(60,0.,3000.), GetRunNumbers(), BinsToVector(40,-5.,5.),
                          AliDielectronVarManager::kNacc,
                          AliDielectronVarManager::kRunNumber,
                          AliDielectronVarManager::kTPCnSigmaPio);
    histos->UserHistogram("Track","TPCnSigmaPio_Nacc",";N_{acc};n#sigma_{pio}^{TPC}",
                          BinsToVector(60,0.,3000.), BinsToVector(40,-5.,5.),
                          AliDielectronVarManager::kNacc,
                          AliDielectronVarManager::kTPCnSigmaPio);

    histos->UserProfile("Track","TPCnSigmaPio-Nacc-RunNumber",";N_{acc};run;n#sigma_{pio}^{TPC}",
                        AliDielectronVarManager::kTPCnSigmaPio,
                        BinsToVector(60,0.,3000.),      GetRunNumbers(),
                        AliDielectronVarManager::kNacc, AliDielectronVarManager::kRunNumber, "s;-5;5" );
    histos->UserProfile("Track","TPCnSigmaPio-RunNumber",";run;n#sigma_{pio}^{TPC}",
                        AliDielectronVarManager::kTPCnSigmaPio,
                        GetRunNumbers(), AliDielectronVarManager::kRunNumber, "s;-5;5");
    histos->UserProfile("Track","TPCnSigmaPio-Nacc",";N_{acc};n#sigma_{pio}^{TPC}",
                        AliDielectronVarManager::kTPCnSigmaPio,
                        BinsToVector(60,0.,3000.), AliDielectronVarManager::kNacc , "s;-5;5");

    histos->UserHistogram("Track","dEdx_RunNumber",";run;TPC signal (arb units)",
			  GetRunNumbers(), BinsToVector(200,0.,200.),
			  AliDielectronVarManager::kRunNumber,
			  AliDielectronVarManager::kTPCsignal);
    histos->UserHistogram("Track","TPCnSigmaEle_RunNumber",";run;TPC signal (arb units)",
			  GetRunNumbers(), BinsToVector(100,-5.,5.),
			  AliDielectronVarManager::kRunNumber,
			  AliDielectronVarManager::kTPCnSigmaEle);
    histos->UserHistogram("Track","dEdx_Eta",";#eta;TPC signal (arb units)",
			  100,-1.,1.,200,0.,200.,AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCsignal,kTRUE);
    histos->UserHistogram("Track","dEdx_Phi",";#phi;TPC signal (arb units)",
			  180,0.,6.285,200,0.,200.,AliDielectronVarManager::kPhi,AliDielectronVarManager::kTPCsignal,kTRUE);
  } // end PID+Flow QA

  if (bHistPID) {
      histos->UserHistogram("Track","dEdx_P_Cent",";p (GeV/c);TPC signal (arb units);centrality (%)",
                            400,0.2,20., 200,0.,200., 10,0.,100.,
                            AliDielectronVarManager::kPIn,
                            AliDielectronVarManager::kTPCsignal,
                            AliDielectronVarManager::kCentrality, 
                            kTRUE);

      histos->UserHistogram("Track","TPCnSigmaEle_P_Cent",";p (GeV/c);n#sigma_{ele}^{TPC};centrality (%)",
                            100,0.2,20., 100,-10.,10., 10,0.,100.,
                            AliDielectronVarManager::kPIn,
                            AliDielectronVarManager::kTPCnSigmaEle,
                            AliDielectronVarManager::kCentrality, 
                            kTRUE);

      histos->UserHistogram("Track","TPCnSigmaPio_P_Cent",";p (GeV/c);n#sigma_{pio}^{TPC};centrality (%)",
                            100,0.2,20., 100,-10.,10., 10,0.,100.,
                            AliDielectronVarManager::kPIn,
                            AliDielectronVarManager::kTPCnSigmaPio,
                            AliDielectronVarManager::kCentrality, 
                            kTRUE);

      histos->UserHistogram("Track","TPCnSigmaPro_P_Cent",";p (GeV/c);n#sigma_{pro}^{TPC};centrality (%)",
                            100,0.2,20., 100,-10.,10., 10,0.,100.,
                            AliDielectronVarManager::kPIn,
                            AliDielectronVarManager::kTPCnSigmaPro,
                            AliDielectronVarManager::kCentrality, 
                            kTRUE);

      histos->UserHistogram("Track","TOFbeta_P_Cent",";p (GeV/c);#beta;centrality (%);#tracks",
                            250,0.0,5., 300,0.,1.2, 10,0.,100.,
                            AliDielectronVarManager::kPIn,
                            AliDielectronVarManager::kTOFbeta,
                            AliDielectronVarManager::kCentrality);

      histos->UserHistogram("Track","TOFnSigmaEle_P_Cent","dEdxTOF;p (GeV/c);n#sigma_{ele}^{TOF};centrality (%);#tracks",
                            250,0.0,5., 100,-10.,10., 10,0.,100.,
                            AliDielectronVarManager::kPIn,
                            AliDielectronVarManager::kTOFnSigmaEle,
                            AliDielectronVarManager::kCentrality);

      // main pid spectra
      histos->UserHistogram("Track","dEdx_P",";p (GeV/c);TPC signal (arb units);#tracks",
			    400,0.2,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
      histos->UserHistogram("Track","TPCnSigmaEle_P",";p (GeV/c);n#sigma_{ele}^{TPC}",
			    100,0.2,20.,100,-10.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
      histos->UserHistogram("Track","TPCnSigmaPio_P",";p (GeV/c);n#sigma_{pio}^{TPC}",
			    100,0.2,20.,100,-10.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);
      histos->UserHistogram("Track","TPCnSigmaPro_P",";p (GeV/c);n#sigma_{pro}^{TPC}",
                          100,0.2,20.,100,-10.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPro,kTRUE);
      histos->UserHistogram("Track","dEdx_NclsTPC",";N_{cls}^{TPC};TPC signal (arb units);#tracks",
			    160,0.,160.,200,0.,200.,AliDielectronVarManager::kNclsTPC,AliDielectronVarManager::kTPCsignal);

      histos->UserHistogram("Track","TOFbeta_P",";p (GeV/c);#beta;#tracks",
			    250,0.0,5.0,300,0.,1.2,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFbeta);
      histos->UserHistogram("Track","TOFnSigmaEle_P",";p (GeV/c);n#sigma_{ele}^{TOF}",
			    100,0.2,20.,50,-10.,10.,AliDielectronVarManager::kP,AliDielectronVarManager::kTOFnSigmaEle,kTRUE);
  } // end PID hists

  if (bHistPair) {
    //Pair classes
    for (Int_t i=1; i<=1; ++i){ // only +- pairs
      histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
    }
    //add histograms to Pair classes
    histos->UserHistogram("Pair","InvMass",";m_{ee} (GeV/c^{2});#pairs",
                          100,.0,100*0.005, AliDielectronVarManager::kM); // 5MeV bins, 0.5GeV/c2
    histos->UserHistogram("Pair","OpeningAngle",";angle (rad.)",
                          100,0.,3.15, AliDielectronVarManager::kOpeningAngle);
    histos->UserHistogram("Pair","CosPointingAngle",";|cos(#theta)|",
                          110,0.0,1.1, AliDielectronVarManager::kCosPointingAngle);
    histos->UserHistogram("Pair","Chi2NDF",";#chi^{2}/NDF",
                          100,0.,20, AliDielectronVarManager::kChi2NDF);
    histos->UserHistogram("Pair","PsiPair","PsiPair;#psi",
                          100,0.,3.15, AliDielectronVarManager::kPsiPair);
    histos->UserHistogram("Pair","R","Radius;r (cm)",
                          200,0.,100., AliDielectronVarManager::kR);
    histos->UserHistogram("Pair","LegDist",";dca (cm)",
                          100,0.,1., AliDielectronVarManager::kLegDist);
    histos->UserHistogram("Pair","LegDistXY",";dca_{xy} (cm)",
                          100,0.,1., AliDielectronVarManager::kLegDistXY);
    histos->UserHistogram("Pair","PdgCode",";mother PDG code;#tracks",
                          10000,-5000.5,4999.5,AliDielectronVarManager::kPdgCode);

    // ITS tracks
    histos->UserHistogram("Track","NclsITS",";N_{cls}^{ITS};#tracks",
                          "0,1,2,3,4,5,6,7",  AliDielectronVarManager::kNclsITS);
    histos->UserHistogram("Track","ITSLayerFirstCls",";ITS layer first cls;#tracks",
                          "-1,0,1,2,3,4,5,6", AliDielectronVarManager::kITSLayerFirstCls);
  } // end pair hists

  // TRD efficiency
  if(bHistEff) {
    for (Int_t i=1; i<=1; ++i){ // only +- pairs
      //      histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
      //legs from pair
      histos->AddClass(Form("Track_Legs_%s",AliDielectron::PairClassName(i)));
    }
        
    // purity
    histos->UserHistogram("Track","TPCnSigmaEle",";n#sigma_{ele}^{TPC};#tracks",
                          100,-10.,10.,AliDielectronVarManager::kTPCnSigmaEle);
    // TRD
    histos->UserHistogram("Track","TRDpidQuality",";N_{trkl}^{TRD};#tracks", 
                          "0,1,2,3,4,5,6,7",    AliDielectronVarManager::kTRDpidQuality);
    histos->UserHistogram("Track","TRDchi2",";#chi^{2}_{TRD};#tracks", 
                          11,-1.,10.,    AliDielectronVarManager::kTRDchi2);
    histos->UserHistogram("Track","TRDprobEle",";P_{ele}^{TRD};#tracks", 
                          100,0.,1.,            AliDielectronVarManager::kTRDprobEle);
    histos->UserHistogram("Track","TRDprobPio",";P_{pio}^{TRD};#tracks", 
                          100,0.,1.,            AliDielectronVarManager::kTRDprobPio);

    histos->UserHistogram("Track","TRDprobEle_TRDpidQuality",";N_{trkl}^{TRD};P_{ele}^{TRD}", 
                          7,0.,7., 20,0.,1.,
                          AliDielectronVarManager::kTRDpidQuality, AliDielectronVarManager::kTRDprobEle);
    histos->UserHistogram("Track","TRDprobPio_TRDpidQuality",";N_{trkl}^{TRD};P_{pio}^{TRD}", 
                          7,0.,7., 20,0.,1.,
                          AliDielectronVarManager::kTRDpidQuality, AliDielectronVarManager::kTRDprobPio);
    
    histos->UserProfile("Track","TRDprobEle-TRDpidQuality",";N_{trkl}^{TRD};P_{ele}^{TRD}", 
                        AliDielectronVarManager::kTRDprobEle,
                        "0,1,2,3,4,5,6,7",    AliDielectronVarManager::kTRDpidQuality);
    histos->UserProfile("Track","TRDprobPio-TRDpidQuality",";N_{trkl}^{TRD};P_{pio}^{TRD}", 
                        AliDielectronVarManager::kTRDprobPio,
                        "0,1,2,3,4,5,6,7",    AliDielectronVarManager::kTRDpidQuality);
    // TPC track quality
    histos->UserHistogram("Track","NclsTPC",";N_{cls}^{TPC};#tracks", 
                          160,0.,160.,   AliDielectronVarManager::kNclsTPC);

  } // end TRD eff
  
  if(0) {    
    //histos->UserHistogram("Track","Pt",";p_{T} (GeV/c);#tracks",200,0,20.,AliDielectronVarManager::kPt);
    //histos->UserHistogram("Track","Eta",";#eta;#tracks",100,-2.,2.,AliDielectronVarManager::kEta);
    //histos->UserHistogram("Track","Phi",";#phi;#tracks",360,0.,6.285,AliDielectronVarManager::kPhi);  
    if(isESD) {
    histos->UserHistogram("Track","TRDchi2",";#chi^{2}_{TRD};#tracks",11,-1.,10.,    AliDielectronVarManager::kTRDchi2);
    histos->UserHistogram("Track","TRDchi2_TRDpidQuality",";#chi^{2}_{TRD};N_{trkl}^{TRD};#tracks",
			  11,-1.,10., 7,0.,7.,    AliDielectronVarManager::kTRDchi2, AliDielectronVarManager::kTRDpidQuality);
    }
    //    histos->UserHistogram("Track","V0Index0",";V0;#tracks",2,-0.5,1.5,AliDielectronVarManager::kV0Index0);
    if(hasMC) {
      histos->UserHistogram("Track","PdgCodeMother",";mother PDG code;#tracks",10000,-5000.5,4999.5,AliDielectronVarManager::kPdgCodeMother);
      //    histos->UserHistogram("Track","PdgCode",";tracks PDG code;#tracks",10000,-5000.5,4999.5,AliDielectronVarManager::kPdgCode);
    }
  }
  
  //add histograms to get cut statistics
  if (bHistCuts) {	
    histos->UserHistogram("Track","Eta",";Eta;#tracks",
                          "-5.,-0.9,-0.8,0.8,0.9,5.",          AliDielectronVarManager::kEta);
    histos->UserHistogram("Track","Pt",";p_{T} (GeV/c);#tracks", 
                          "0.0,0.8, 1.0, 1.2, 1.5, 100.0",    AliDielectronVarManager::kPt);
    histos->UserHistogram("Track","ImpactParXY",";dXY (cm);#tracks",  
                          500,-1.,1.,               AliDielectronVarManager::kImpactParXY);
    histos->UserHistogram("Track","ImpactParZ",";dZ (cm);#tracks",	  
                          600,-3.,3.,               AliDielectronVarManager::kImpactParZ);
    // ITS
    histos->UserHistogram("Track","NclsITS",";N_{cls}^{ITS};#tracks", 
                          "0,1,2,3,4,5,6,7",          AliDielectronVarManager::kNclsITS);
    histos->UserHistogram("Track","ITSLayerFirstCls",";ITS layer first cls;#tracks", 
                          "-1,0,1,2,3,4,5,6",          AliDielectronVarManager::kITSLayerFirstCls);
    histos->UserHistogram("Track","NclsITS_ITSLayerFirstCls",";N_{cls}^{ITS};ITS layer first cls;#tracks", 
                          7, 0., 7., 7, -1., 6.,
			  AliDielectronVarManager::kNclsITS, AliDielectronVarManager::kITSLayerFirstCls);
    // TPC
    histos->UserHistogram("Track","NclsTPC",";N_{cls}^{TPC};#tracks", 
                          "70, 90, 100, 120, 160",   AliDielectronVarManager::kNclsTPC);
    histos->UserHistogram("Track","TPCchi2PerCluster",";#chi^{2}/N_{cls}^{TPC};#tracks", 
                          10,0,10,AliDielectronVarManager::kTPCchi2Cl);
    histos->UserHistogram("Track","TPC_nSigma_Electrons",";n#sigma_{ele}^{TPC};#tracks", 
                          "-100,-4,-3,-2,-1.5,-1,1,1.5,2,3,4,100",AliDielectronVarManager::kTPCnSigmaEle);
    histos->UserHistogram("Track","TPC_nSigma_Pions",";n#sigma_{pio}^{TPC};#tracks", 
                          "-100,3.5,4.0,4.5,5.0,5.5,100",AliDielectronVarManager::kTPCnSigmaPio);
    histos->UserHistogram("Track","TPC_nSigma_Protons",";n#sigma_{pro}^{TPC};#tracks", 
                          "-100,3.5,4.0,4.5,5.0,5.5,100",AliDielectronVarManager::kTPCnSigmaPro);

    histos->UserProfile("Track","NclsTPC-Eta-Phi",";#eta;#phi;N_{cls}^{TPC}",
			AliDielectronVarManager::kNclsTPC,
			BinsToVector(100,-2.,2.),      BinsToVector(360,0.,6.285),
			AliDielectronVarManager::kEta, AliDielectronVarManager::kPhi, "i;1;160");
    // TRD
    histos->UserHistogram("Track","TRDpidQuality",";N_{trkl}^{TRD};#tracks", 
                          "0,1,2,3,4,5,6,7",            AliDielectronVarManager::kTRDpidQuality);
    histos->UserHistogram("Track","TRDprobEle",";P_{ele}^{TRD};#tracks", 
                          100,0.,1.,            AliDielectronVarManager::kTRDprobEle);
    //    histos->UserHistogram("Track","TRD_PIDbit",";TRD pid bit;#tracks",
    //                          "-.5,.5,1.5",              AliDielectronVarManager::kTRDPIDBit);
    
    // TOF
    histos->UserHistogram("Track","TOF_PIDbit",";TOF pid bit;#tracks",
                          "-.5,.5,1.5",              AliDielectronVarManager::kTOFPIDBit);
    histos->UserHistogram("Track","TOF_nSigma_Electrons",";n#sigma_{ele}^{TOF};#tracks", 
                          "-100,-3,-2,2,3,100",AliDielectronVarManager::kTOFnSigmaEle);
  } // end cut hists
  
  
  // track histos
  //  histos->UserHistogram("Track","Pt",";p_{T} (GeV/c);#tracks",200,0,20.,AliDielectronVarManager::kPt);
  //  histos->UserHistogram("Track","Eta",";#eta;#tracks",100,-2.,2.,AliDielectronVarManager::kEta);
  //  histos->UserHistogram("Track","Phi",";#phi;#tracks",360,0.,6.285,AliDielectronVarManager::kPhi);  
  //  histos->UserHistogram("Track","Eta_Phi",";#eta; #phi;#tracks",
  //                        100,-2,2,144,0,6.285,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
  //  
  //  histos->UserHistogram("Track","Ncl",";Number clusters TPC;Number clusters TPC",
  //                        160,-0.5,159.5,AliDielectronVarManager::kNclsTPC);
  //  histos->UserHistogram("Track","NclFrFrac",";found/findable clusters (robust);#tracks",
  //                        160,0,1.1,AliDielectronVarManager::kNFclsTPCrFrac);
  //  histos->UserHistogram("Track","TPCsignalN","Number of Clusters TPC PID;#clusteres TPC PID;#tracks",
  //                        160,-0.5,159.5,AliDielectronVarManager::kTPCsignalN);
  //
  //  histos->UserHistogram("Track","Ncl_NclPid","Number clusters TPC vs. number of clusters PID;#clusters TPC; #clusters TPC PID",
  //                        160,-0.5,159.5,160,-0.5,159.5,AliDielectronVarManager::kNclsTPC,AliDielectronVarManager::kTPCsignalN);
  //  histos->UserHistogram("Track","TPCchi2Cl","TPC #chi^{2}/cluster;TPC #chi^{2}/cluster;#tracks",
  //                        100,0.,10.,AliDielectronVarManager::kTPCchi2Cl);
  
  die->SetHistogramManager(histos);
}

void InitCF(AliDielectron* die, Int_t cutDefinition)
{
  //
  // Setup the CF Manager if needed
  //
  
  AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());
  
  // leg variables
  cf->AddVariable(AliDielectronVarManager::kP, "1.0,1.5,2.0,3.0,5.0,10.0",kTRUE);
  cf->AddVariable(AliDielectronVarManager::kTRDphi,       45, -3.15, +3.15, kTRUE);
  cf->AddVariable(AliDielectronVarManager::kEta,          20, -1.0,   1.0,  kTRUE);
  cf->AddVariable(AliDielectronVarManager::kTRDntracklets, 7, -0.5,   6.5,  kTRUE);
  cf->AddVariable(AliDielectronVarManager::kTRDprobEle,   20,  0.0,   1.0,  kTRUE);
  cf->AddVariable(AliDielectronVarManager::kTPCnSigmaEle, 10.,-3.5,  +3.5,  kTRUE);
 
  die->SetCFManagerPair(cf);
}

TVectorD *GetRunNumbers() {
  
  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
    170593, 170572, 170388, 170387, 170315, 170313, 170312, 170311, 170309, 170308, 170306, 170270, 170269, 170268, 170230, 170228, 170207, 170204, 170203, 170193, 170163, 170159, 170155, 170091, 170089, 170088, 170085, 170084, 170083, 170081, 170040, 170027, 169965, 169923, 169859, 169858, 169855, 169846, 169838, 169837, 169835, 169591, 169590, 169588, 169587, 169586, 169557, 169555, 169554, 169553, 169550, 169515, 169512, 169506, 169504, 169498, 169475, 169420, 169419, 169418, 169417, 169415, 169411, 169238, 169167, 169160, 169156, 169148, 169145, 169144, 169138, 169099, 169094, 169091, 169045, 169044, 169040, 169035, 168992, 168988, 168826, 168777, 168514, 168512, 168511, 168467, 168464, 168460, 168458, 168362, 168361, 168342, 168341, 168325, 168322, 168311, 168310, 168115, 168108, 168107, 168105, 168076, 168069, 167988, 167987, 167985, 167920, 167915
  };
  
  // selection via environement variable (works only for gsi trains)

  
  if(list.Contains("LHC10h") || list.Contains("LHC11a10")) {
    Int_t size = (int) (sizeof(runLHC10h)/sizeof(Double_t));
    TVectorD *vec = new TVectorD(size+1);
    
    (*vec)[size] = runLHC10h[0] + 1;
    for (int i = 0; i < size; i++) {
      (*vec)[i] = runLHC10h[size-1-i];
    }
    //    vec->Print("");
    return vec;
  }

  if( list.Contains("LHC11h") || list.Contains("LHC12a17") ) {
    
    Int_t size = (int) (sizeof(runLHC11h)/sizeof(Double_t));
    TVectorD *vec = new TVectorD(size+1);
    
    (*vec)[size] = runLHC11h[0] + 1;
    for (int i = 0; i < size; i++) {
      (*vec)[i] = runLHC11h[size-1-i];
    }
    //   vec->Print("");
    return vec;
  }

  TVectorD *vec = new TVectorD(2);
  (*vec)[0] = 0;
  (*vec)[0] = 1;
  return vec;
  
}

TVectorD *BinsToVector(Int_t nbins, Double_t min, Double_t max) {
  return AliDielectronHelper::MakeLinBinning(nbins,min,max);
  //  TVectorD *vec = new TVectorD(nbins+1);
  //
  //  Double_t binwdth = (max-min)/nbins;
  //  for (int i = 0; i < nbins+1; i++) (*vec)[i] = min + i*binwdth;
  //  
  //  return vec;
}


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