ROOT logo
TF1* GetEtaCorrection(){
  TString list=gSystem->Getenv("LIST");

  TString etaMap="$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/EtaCorrMapsTPC.root";
  if (gSystem->AccessPathName(gSystem->ExpandPathName(etaMap.Data()))){
    Error("ConfigPbPb2010_Cent","Eta map not found: %s",etaMap.Data());
    return 0;
  }

  TFile f(etaMap.Data());
  if (!f.IsOpen()) return 0;
  gROOT->cd();
  TList *keys=f.GetListOfKeys();

  for (Int_t i=0; i<keys->GetEntries(); ++i){
    TString kName=keys->At(i)->GetName();
    TPRegexp reg(kName);
    if (reg.MatchB(list)){
      printf("Using Eta Correction Function: %s\n",kName.Data());
      return (TF1*)f.Get(kName.Data());
    }
  }
  return 0;
}

Bool_t ReadContaminationFunctions(TString filename, TF1 **functions, double sigma){
  TFile *in = TFile::Open(Form("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/%s", filename.Data()));
  gROOT->cd();
  int isig = static_cast<int>(sigma * 100.);
  printf("Getting hadron background for the sigma cut: %d\n", isig);
  bool status = kTRUE;
  for(int icent = 0; icent < 12; icent++){
    functions[icent] = dynamic_cast<TF1 *>(in->Get(Form("hback_%d_%d", isig, icent)));
    if(functions[icent]) printf("Config for centrality class %d found\n", icent);
    else{
      printf("Config for the centrality class %d not found\n", icent);
      status = kFALSE;
    }
  }
  delete in;
  return status;
}

AliAnalysisTaskHFE* ConfigHFEnpePbPb(Bool_t useMC, Bool_t isAOD, TString appendix,
                UChar_t TPCcl=70, UChar_t TPCclPID = 80, 
                UChar_t ITScl=3, Double_t DCAxy=1000., Double_t DCAz=1000., 
                Double_t* tpcdEdxcutlow=NULL, Double_t* tpcdEdxcuthigh=NULL, 
                Double_t TOFs=3., Int_t TOFmis=0,
		Double_t ITSs=0.,  
                Int_t itshitpixel = 0, Double_t itsChi2PerClusters, Double_t tpcClShared,
                Bool_t etacor = kFALSE, Bool_t multicor = kFALSE,Bool_t toflast = kFALSE,
	        Double_t etami=-0.8, Double_t etama=0.8,
                Double_t assETAm=-0.8, Double_t assETAp=0.8,
                Int_t assITS=2, 
                Int_t assTPCcl=100, Int_t assTPCPIDcl=80, 
                Double_t assDCAr=1.0, Double_t assDCAz=2.0, 
                Double_t *assTPCSminus=NULL, Double_t *assTPCSplus=NULL, 
	        Bool_t useCat1Tracks = kTRUE, Bool_t useCat2Tracks = kTRUE,
                Int_t weightlevelback = -1,Bool_t usekfparticle = kFALSE)
{
  Bool_t kAnalyseTaggedTracks = kFALSE;
  Bool_t kApplyPreselection = kFALSE;

  //***************************************//
  //        Setting up the HFE cuts        //
  //***************************************//

  AliHFEcuts *hfecuts = new AliHFEcuts(appendix,"HFE cuts for PbPb");
  //hfecuts->SetQAOn();
  hfecuts->CreateStandardCuts();
  hfecuts->SetMinNClustersTPC(TPCcl);
  hfecuts->SetMinNClustersTPCPID(TPCclPID);
  hfecuts->SetMinNClustersITS(ITScl);
  hfecuts->SetMinRatioTPCclusters(0.6);
  hfecuts->SetTPCmodes(AliHFEextraCuts::kFoundAll, AliHFEextraCuts::kFoundAllOverFindable);
  hfecuts->SetCutITSpixel(itshitpixel);
  hfecuts->SetCheckITSLayerStatus(kFALSE);
  hfecuts->SetMaxChi2perClusterITS(itsChi2PerClusters);
  hfecuts->SetEtaRange(etami,etama);
  hfecuts->SetFractionOfSharedTPCClusters(tpcClShared);
  hfecuts->SetAcceptKinkMothers();
  //if(isAOD) hfecuts->SetAODFilterBit(2); // 2010
  if(isAOD) hfecuts->SetAODFilterBit(4); // 2011
  
  
  if((itshitpixel==AliHFEextraCuts::kAny) || (itshitpixel==AliHFEextraCuts::kSecond))     
  hfecuts->SetProductionVertex(0,7,0,7);
 
  hfecuts->SetMaxImpactParam(DCAxy,DCAz);
  hfecuts->SetUseMixedVertex(kTRUE);
  hfecuts->SetVertexRange(10.);

  //Bool_t ipSig = kFALSE;
  //hfecuts->SetIPcutParam(0.0054,0.078,-0.56,0,ipSig,ipCharge,ipOpp);
  //if(isBeauty || releasemcvx) hfecuts->SetProductionVertex(0,100,0,100);

  // TOF settings:
  Int_t usetof=0;
  Bool_t kTOFmis=kFALSE;
  if (TOFs>0.){
    usetof = 1;
    printf("CONFIGURATION FILE: TOF is used \n");
    hfecuts->SetTOFPIDStep(kTRUE);
    if(useMC  && (!isAOD)) hfecuts->SetMatchTOFLabel(kTRUE);
    //if(useMC) hfecuts->SetMatchTOFLabel(kFALSE);
    printf("CONFIGURATION FILE: TOF PID step is requested !!!! \n");
    if (TOFmis>0){
      kTOFmis = kTRUE;
      printf("CONFIGURATION FILE: TOF mismatch rejection is set ON \n");
    }
  }

  // ITS settings:
  Int_t useits=0;
  if (ITSs>0.){
    useits = 1;
    printf("CONFIGURATION FILE: ITS is used \n");
  }

  //***************************************//
  //        Setting up the task            //
  //***************************************//

  AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE(Form("HFEtask%s",appendix.Data()));
  printf("task %p\n", task);
  task->SetPbPbAnalysis();
  task->SetRemovePileUp(kFALSE);
  task->SetHFECuts(hfecuts);
  task->GetPIDQAManager()->SetHighResolutionHistos();
  task->SetRejectKinkMother(kFALSE);
  //if(useMC && rejectMCFake) task->SetRejectMCFakeTracks(kTRUE); // MC label negative

  // Determine the centrality estimator
  task->SetCentralityEstimator("V0M");

  // Get weights
  task->SetWeightHist();

  //***************************************//
  //        Prepare preselection           //
  // This mimics the ESD->AOD filter in    //
  // case of the ESD analysis and selects  //
  // only tracks which will be selected in //
  // the AOD analysis with the given filter//
  // bit. Not to be applied for AODS.      //
  // For pPb the cuts used are (bit 4)     //
  // esdTrackCutsHG0 from file $ALICE_ROOT///
  // ANALYSIS/macros/AddTaskESDFilter.C    //
  //***************************************//
  if(kApplyPreselection){
    AliESDtrackCuts* esdTrackCutsH = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
    esdTrackCutsH->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
    task->SetHFECutsPreselect(esdTrackCutsH);
    printf("Put a preselection cut\n");
    task->SetFillNoCuts(kTRUE);
  }

  //***************************************//
  //          Variable manager             //
  //***************************************//
  // Define Variables
  Double_t ptbinning[36] = {0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.1, 1.2, 1.3, 1.4, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.5, 4., 4.5, 5., 5.5, 6., 7., 8., 10., 12., 14., 16., 18., 20.};
  Double_t etabinning[17] = {-0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8};

  Int_t sizept=(sizeof(ptbinning)/sizeof(double))-1;
  Int_t sizeeta=(sizeof(etabinning)/sizeof(double))-1;

  AliHFEvarManager *vm = task->GetVarManager();
  vm->AddVariable("pt", sizept, ptbinning);
  vm->AddVariable("eta", sizeeta, -0.8,0.8);
  vm->AddVariable("phi",21, -0, 2*TMath::Pi());
  vm->AddVariable("charge");
  vm->AddVariable("source");
  vm->AddVariable("centrality");

  // For the moment, remove the part dedicated to the background subtraction.
  // It will be implemented in a different way, reading it from a root file.

  //***************************************//
  //          Configure the PID            //
  //***************************************//

  // Define PID
  AliHFEpid *pid = task->GetPID();
  if(useMC) pid->SetHasMCData(kTRUE);

  if (usetof && (useits<1)){
    if(toflast){
      pid->AddDetector("TPC", 0);
      pid->AddDetector("TOF", 1);
    } else {
      pid->AddDetector("TOF", 0);
      pid->AddDetector("TPC", 1);
    }
  } else if(usetof && (useits>0)){
    if(toflast){
      pid->AddDetector("ITS", 0);
      pid->AddDetector("TPC", 1);
      pid->AddDetector("TOF", 2);
     
    } else {
      pid->AddDetector("TOF", 0);
      pid->AddDetector("ITS", 1);
      pid->AddDetector("TPC", 2);
    }
  }
  else {
    pid->AddDetector("TPC", 0);
  }

  // Configure TPC PID
  // do the identical thing in data and MC
  Double_t paramsTPCdEdxcutlow[12] ={0.0, 0.0, 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
  if(tpcdEdxcutlow) memcpy(paramsTPCdEdxcutlow,tpcdEdxcutlow,sizeof(paramsTPCdEdxcutlow));

  Double_t paramsTPCdEdxcuthigh[12] ={3.0, 3.0, 3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0};
  if(tpcdEdxcuthigh) memcpy(paramsTPCdEdxcuthigh,tpcdEdxcuthigh,sizeof(paramsTPCdEdxcuthigh));

  char *cutmodel;
  cutmodel="pol0";

  for(Int_t a=0;a<11;a++){
    // Not necessary anymore, since the PbPb case is handled similarly to the pp case
    //   cout << a << " " << paramsTPCdEdxcut[a] << endl;
    Double_t tpcparamlow[1]={paramsTPCdEdxcutlow[a]};
    Float_t tpcparamhigh=paramsTPCdEdxcuthigh[a];
    pid->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlow,tpcparamhigh);
  }

  if(!useMC){
    AliHFEpidTPC *tpcpid = pid->GetDetPID(AliHFEpid::kTOFpid);
    if(etacor){ 
	  // Apply eta correction
	  TF1 *etacorrection = GetEtaCorrection();
	  if(etacorrection) tpcpid->SetEtaCorrection(etacorrection);
    }
    if(multicor){
	  TF1 *centralityCorrection = new TF1("centralityCorrection", "pol1", 0., 10000.);
	  centralityCorrection->SetParameter(0, 1.0);
	  centralityCorrection->SetParameter(1, -0.00002);
	  tpcpid->SetCentralityCorrection(centralityCorrection);
    }
  }

  // Configure TOF PID
  if (usetof){
    pid->ConfigureTOF(TOFs);
    AliHFEpidTOF *tofpid = pid->GetDetPID(AliHFEpid::kTOFpid);
    if (kTOFmis){
      tofpid->SetRejectTOFmismatch();
    }
    if(toflast) tofpid->SetGenerateTOFmismatch(); // Makes only sense if TOF is the last detector
  }

  // Configure ITS PID
  if (useits>0){
    AliHFEpidITS *itspid = pid->GetDetPID(AliHFEpid::kITSpid);
    itspid->SetITSnSigma(1.);
  }

  // To make different upper TOF cut to see contamination effect
  // The below two lines should be removed after this check
  //AliHFEpidTOF *tofpid = pid->GetDetPID(AliHFEpid::kTOFpid);
  //if(TOFs<3.) tofpid->SetTOFnSigmaBand(-3,TOFs); //only to check the assymmetric tof cut

  // Load hadron background
  if(!useMC){
    Bool_t status = kTRUE;
    TF1 *hBackground[12];
    status = ReadContaminationFunctions("hadronContamination_PbPbTPC.root", hBackground, tpcdEdxcutlow[0]);
    for(Int_t a=0;a<12;a++) {
      //printf("back %f \n",hBackground[a]);
      if(status) task->SetBackGroundFactorsFunction(hBackground[a],a);
      else printf("not all background functions found\n");
    }
  }

  //***************************************//
  //       Configure NPE plugin            //
  //***************************************//

  AliHFENonPhotonicElectron *backe = new AliHFENonPhotonicElectron(Form("HFEBackGroundSubtractionPID2%s",appendix.Data()),"Background subtraction");  //appendix
    //Setting the Cuts for the Associated electron-pool
  AliHFEcuts *hfeBackgroundCuts = new AliHFEcuts(Form("HFEBackSub%s",appendix.Data()),"Background sub Cuts");
  //  hfeBackgroundCuts->SetEtaRange(assETA);
  hfeBackgroundCuts->SetEtaRange(assETAm,assETAp);
  hfeBackgroundCuts->SetPtRange(0.1,1e10);

  hfeBackgroundCuts->SetMaxChi2perClusterTPC(4);
  hfeBackgroundCuts->SetMinNClustersITS(assITS);
  hfeBackgroundCuts->SetMinNClustersTPC(assTPCcl);
  hfeBackgroundCuts->SetMinNClustersTPCPID(assTPCPIDcl);
  hfeBackgroundCuts->SetMaxImpactParam(assDCAr,assDCAz);
  if(isAOD) hfeBackgroundCuts->SetAODFilterBit(0); // 20102011
  if(usekfparticle) backe->SetAlgorithmMA(kTRUE);
  //hfeBackgroundCuts->SetQAOn();			        // QA

  AliHFEpid *pidbackground = backe->GetPIDBackground();
  if(useMC) pidbackground->SetHasMCData(kTRUE);
  pidbackground->AddDetector("TPC", 0);
  Double_t paramsTPCdEdxcutlowAssoc[12] ={-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0,-3.0};
  if(assTPCSminus) memcpy(paramsTPCdEdxcutlowAssoc,assTPCSminus,sizeof(paramsTPCdEdxcutlowAssoc));

  Double_t paramsTPCdEdxcuthighAssoc[12] ={3.0, 3.0, 3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0};
  if(assTPCSplus) memcpy(paramsTPCdEdxcuthighAssoc,assTPCSplus,sizeof(paramsTPCdEdxcuthighAssoc));
    
  char *cutmodelAssoc;
  cutmodelAssoc="pol0";
  for(Int_t a=0;a<11;a++){
    //   cout << a << " " << paramsTPCdEdxcut[a] << endl;
    Double_t tpcparamlow[1]={paramsTPCdEdxcutlowAssoc[a]};
    Float_t tpcparamhigh=paramsTPCdEdxcuthighAssoc[a];
    pidbackground->ConfigureTPCcentralityCut(a,cutmodelAssoc,tpcparamlow,tpcparamhigh);
  }
  //backe->GetPIDBackgroundQAManager()->SetHighResolutionHistos();
  backe->SetHFEBackgroundCuts(hfeBackgroundCuts);

  // Selection of associated tracks for the pool
  if(useCat1Tracks) backe->SelectCategory1Tracks(kTRUE);
  if(useCat2Tracks){
    backe->SelectCategory2Tracks(kTRUE);
    backe->SetITSMeanShift(-0.5);
  }

  // apply opening angle cut to reduce file size
  backe->SetMaxInvMass(0.3);
  backe->SetStudyRadius(kTRUE);
  backe->SetPtBinning(sizept, ptbinning);
  backe->SetEtaBinning(sizeeta, etabinning);

  // MC weight
  if(useMC) {
    //printf("test put weight %d\n",weightlevelback);
    if((weightlevelback >=0) && (weightlevelback < 3)) backe->SetWithWeights(weightlevelback);
  }

  task->SetHFEBackgroundSubtraction(backe);

  //***************************************//
  //          V0 tagged tracks             //
  //***************************************//

  if(kAnalyseTaggedTracks){
    AliHFEcuts *v0trackCuts = new AliHFEcuts("V0trackCuts", "Track Cuts for tagged track Analysis");
    v0trackCuts->CreateStandardCuts();
    v0trackCuts->SetMinNClustersTPC(TPCcl);
    v0trackCuts->SetMinNClustersTPCPID(TPCclPID);
    v0trackCuts->SetMinRatioTPCclusters(0.6);
    v0trackCuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
    v0trackCuts->SetMinNClustersITS(1);
    v0trackCuts->SetCutITSpixel(AliHFEextraCuts::kFirst);
    v0trackCuts->SetCheckITSLayerStatus(kFALSE);
    v0trackCuts->UnsetVertexRequirement();
    //hfecuts->SetSigmaToVertex(10);
    if(usetof) v0trackCuts->SetTOFPIDStep(kTRUE);
    v0trackCuts->SetQAOn();

    task->SwitchOnPlugin(AliAnalysisTaskHFE::kTaggedTrackAnalysis);
    task->SetTaggedTrackCuts(v0trackCuts);
    task->SetCleanTaggedTrack(kTRUE);
  }

  // QA
  printf("task %p\n", task);
  task->SetQAOn(AliAnalysisTaskHFE::kPIDqa);
  task->SetQAOn(AliAnalysisTaskHFE::kMCqa);
  task->SwitchOnPlugin(AliAnalysisTaskHFE::kNonPhotonicElectron);
  task->SwitchOnPlugin(AliAnalysisTaskHFE::kDEstep);

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