ROOT logo
//gSystem->AddIncludePath("-I/$ALICE_ROOT/PWG3/vertexingHF");
  
#include <Riostream.h>
#include <TFile.h>
//#include <AliRDHFCutsD0toKpipipi.h>
#include <TClonesArray.h>
#include <TParameter.h>

//Author: Chiara Bianchin, cbianchi@pd.infn.it, Fabio Colamaria, fabio.colamaria@ba.infn.it

//macro to make a .root file which contains an AliRDHFCutsD0toKpipipi for AliAnalysisTaskSESelectHF4Prong task

void MakeCuts4Charm4Prong(){

gSystem->Load("libTree.so");
gSystem->Load("libGeom.so");
gSystem->Load("libPhysics.so");
gSystem->Load("libVMC.so");
gSystem->Load("libMinuit.so");
gSystem->Load("libSTEERBase.so");
gSystem->Load("libESD.so");
gSystem->Load("libAOD.so"); 
gSystem->Load("libANALYSIS.so");
gSystem->Load("libANALYSISalice.so");
gSystem->Load("libCORRFW.so");
gSystem->Load("libPWGHFbase.so");
gSystem->Load("libPWGHFvertexingHF.so");
gSystem->Load("libPWGmuon.so");

  AliRDHFCutsD0toKpipipi* RDHFCharm4Prong=new AliRDHFCutsD0toKpipipi();
  RDHFCharm4Prong->SetName("Charm4ProngCuts");
  RDHFCharm4Prong->SetTitle("Cuts for D0 analysis");
 
  AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts();
  esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
  //default
  esdTrackCuts->SetRequireTPCRefit(kTRUE);
  esdTrackCuts->SetRequireITSRefit(kTRUE);
  esdTrackCuts->SetMinNClustersITS(4); // default is 5
  //esdTrackCuts->SetMinNClustersTPC(70);
  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
					 AliESDtrackCuts::kAny); 
 // default is kBoth, otherwise kAny
  esdTrackCuts->SetMinDCAToVertexXY(0.);
  esdTrackCuts->SetPtRange(0.3,1.e10);

  RDHFCharm4Prong->AddTrackCuts(esdTrackCuts);


  
  const Int_t nvars=9;

  const Int_t nptbins=5;
  Float_t* ptbins;
  ptbins=new Float_t[nptbins+1];
  ptbins[0]=0.; 
  ptbins[1]=4.5;
  ptbins[2]=6.;
  ptbins[3]=8.;
  ptbins[4]=12.;
  ptbins[5]=16.;
  
  RDHFCharm4Prong->SetPtBins(nptbins+1,ptbins);
  

  Float_t** rdcutsvalmine;
  rdcutsvalmine=new Float_t*[nvars];
  for(Int_t iv=0;iv<nvars;iv++){
    rdcutsvalmine[iv]=new Float_t[nptbins];
  }

  //setting my cut values
    //cuts order
    //     printf("    |M-MD0| [GeV]");
    //     printf("    DCA [cm]");
    //     printf("    Dist 2-trk Vtx to PrimVtx [cm]");
    //     printf("    Dist 3-trk Vtx to PrimVtx [cm]");
    //     printf("    Dist 4-trk Vtx to PrimVtx [cm]");
    //     printf("    cosThetaPoint");
    //     printf("    pt [GeV/c]");
    //     printf("    rho mass");
    //     printf("    PID cut");

  //setting my cut values
  rdcutsvalmine[0][0]=0.2;
  rdcutsvalmine[1][0]=0.025;
  rdcutsvalmine[2][0]=0.0900;
  rdcutsvalmine[3][0]=0.0900;
  rdcutsvalmine[4][0]=0.0600;
  rdcutsvalmine[5][0]=0.995;
  rdcutsvalmine[6][0]=0.;
  rdcutsvalmine[7][0]=0.1;
  rdcutsvalmine[8][0]=0.;

  rdcutsvalmine[0][1]=0.2;
  rdcutsvalmine[1][1]=0.015;
  rdcutsvalmine[2][1]=0.1200;
  rdcutsvalmine[3][1]=0.1000;
  rdcutsvalmine[4][1]=0.0850;
  rdcutsvalmine[5][1]=0.99;
  rdcutsvalmine[6][1]=0.;
  rdcutsvalmine[7][1]=0.1;
  rdcutsvalmine[8][1]=0.;

  rdcutsvalmine[0][2]=0.2;
  rdcutsvalmine[1][2]=0.025;
  rdcutsvalmine[2][2]=0.0975;
  rdcutsvalmine[3][2]=0.0900;
  rdcutsvalmine[4][2]=0.0800;
  rdcutsvalmine[5][2]=0.99;
  rdcutsvalmine[6][2]=0.;
  rdcutsvalmine[7][2]=0.1;
  rdcutsvalmine[8][2]=0.;

  rdcutsvalmine[0][3]=0.2;
  rdcutsvalmine[1][3]=0.015;
  rdcutsvalmine[2][3]=0.0975;
  rdcutsvalmine[3][3]=0.0700;
  rdcutsvalmine[4][3]=0.0750;
  rdcutsvalmine[5][3]=0.9825;
  rdcutsvalmine[6][3]=0.;
  rdcutsvalmine[7][3]=0.1;
  rdcutsvalmine[8][3]=0.;

  rdcutsvalmine[0][4]=rdcutsvalmine[0][3];
  rdcutsvalmine[1][4]=rdcutsvalmine[1][3];
  rdcutsvalmine[2][4]=rdcutsvalmine[2][3];
  rdcutsvalmine[3][4]=rdcutsvalmine[3][3];
  rdcutsvalmine[4][4]=rdcutsvalmine[4][3];
  rdcutsvalmine[5][4]=rdcutsvalmine[5][3];
  rdcutsvalmine[6][4]=rdcutsvalmine[6][3];
  rdcutsvalmine[7][4]=rdcutsvalmine[7][3];
  rdcutsvalmine[8][4]=rdcutsvalmine[8][3];

  RDHFCharm4Prong->SetCuts(nvars,nptbins,rdcutsvalmine);
  cout<<"This is the odject I'm going to save:"<<endl;
  RDHFCharm4Prong->PrintAll();
  TFile* fout=new TFile("Charm4ProngCutsDef_16GeV.root","recreate");   //set this!! 
  fout->cd();
  RDHFCharm4Prong->Write();
  fout->Close();

}

void MakeCuts4Charm4ProngForMaxim(){

gSystem->Clear();
gSystem->Load("libTree.so");
gSystem->Load("libGeom.so");
gSystem->Load("libPhysics.so");
gSystem->Load("libVMC.so");
gSystem->Load("libMinuit.so");
gSystem->Load("libSTEERBase.so");
gSystem->Load("libESD.so");
gSystem->Load("libAOD.so"); 
gSystem->Load("libANALYSIS.so");
gSystem->Load("libANALYSISalice.so");
gSystem->Load("libCORRFW.so");
gSystem->Load("libPWGHFbase.so");
gSystem->Load("libPWGHFvertexingHF.so");
gSystem->Load("libPWGmuon.so");

  AliRDHFCutsD0toKpipipi* RDHFCharm4Prong=new AliRDHFCutsD0toKpipipi();
  RDHFCharm4Prong->SetName("loosercuts");
  RDHFCharm4Prong->SetTitle("Cuts for significance maximization");

  AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts();
  esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
  //default
  esdTrackCuts->SetRequireTPCRefit(kTRUE);
  esdTrackCuts->SetRequireITSRefit(kTRUE);
  //esdTrackCuts->SetMinNClustersITS(4);
  //esdTrackCuts->SetMinNClustersTPC(120);

  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
  esdTrackCuts->SetMinDCAToVertexXY(0.);
  esdTrackCuts->SetEtaRange(-0.8,0.8);
  esdTrackCuts->SetPtRange(0.3,1.e10); 
  
  RDHFCharm4Prong->AddTrackCuts(esdTrackCuts);

  const Int_t nvars=9;

  const Int_t nptbins=5; //change this when adding pt bins!
  Float_t ptbins[nptbins+1];
  ptbins[0]=0.; 
  ptbins[1]=4.5;
  ptbins[2]=6.;
  ptbins[3]=8.;
  ptbins[4]=12.;
  ptbins[5]=16.; //o 25!

  RDHFCharm4Prong->SetPtBins(nptbins+1,ptbins);

  Float_t** rdcutsvalmine;
  rdcutsvalmine=new Float_t*[nvars];
  for(Int_t iv=0;iv<nvars;iv++){
    rdcutsvalmine[iv]=new Float_t[nptbins];
  }

  //setting my cut values
    //cuts order
    //     printf("    |M-MD0| [GeV]");
    //     printf("    DCA [cm]");
    //     printf("    Dist 2-trk Vtx to PrimVtx [cm]");
    //     printf("    Dist 3-trk Vtx to PrimVtx [cm]");
    //     printf("    Dist 4-trk Vtx to PrimVtx [cm]");
    //     printf("    cosThetaPoint");
    //     printf("    pt [GeV/c]");
    //     printf("    rho mass");
    //     printf("    PID cut");

  Float_t cutsMatrixD0toKpipipiStand[nptbins][nvars]={{0.2,0.04,0.04,0.04,0.04,0.90,0.,0.1,0.},

{0.2,0.04,0.04,0.04,0.04,0.90,0.,0.1,0.},

{0.2,0.04,0.04,0.04,0.04,0.90,0.,0.1,0.}, 

{0.2,0.04,0.04,0.04,0.04,0.90,0.,0.1,0.},

{0.2,0.04,0.04,0.04,0.04,0.90,0.,0.1,0.}};

  //CREATE TRANSPOSE MATRIX...REVERSE INDICES as required by AliRDHFCuts
  Float_t **cutsMatrixTransposeStand=new Float_t*[nvars];
  for(Int_t iv=0;iv<nvars;iv++)cutsMatrixTransposeStand[iv]=new Float_t[nptbins];
  for (Int_t ibin=0;ibin<nptbins;ibin++){
    for (Int_t ivar = 0; ivar<nvars; ivar++){
      cutsMatrixTransposeStand[ivar][ibin]=cutsMatrixD0toKpipipiStand[ibin][ivar];
    }
  }
  RDHFCharm4Prong->SetCuts(nvars,nptbins,cutsMatrixTransposeStand);

  Int_t nvarsforopt=RDHFCharm4Prong->GetNVarsForOpt();
  Int_t dim=5; //set this!!
  Bool_t *boolforopt;
  boolforopt=new Bool_t[nvars];
  if(dim>nvarsforopt){
    cout<<"Number of variables for optimization has probably changed, check and edit accordingly"<<endl;
    return;
  } else {
    if(dim==nvarsforopt){
      boolforopt=RDHFCharm4Prong->GetVarsForOpt();
    }else{
      TString *names;
      names=new TString[nvars];
      TString answer="";
      Int_t checktrue=0;
      names=RDHFCharm4Prong->GetVarNames();
      for(Int_t i=0;i<nvars;i++){
	cout<<names[i]<<" for opt? (y/n)"<<endl;
	cin>>answer;
	if(answer=="y") {
	  boolforopt[i]=kTRUE;
	  checktrue++;
	}
	else boolforopt[i]=kFALSE;
      }
      if (checktrue!=dim) {
	cout<<"Error! You set "<<checktrue<<" kTRUE instead of "<<dim<<endl;
	return;
      }
      RDHFCharm4Prong->SetVarsForOpt(dim,boolforopt);
    }
  }

// Tight values for variables to be maximized
// (DCA, Dist12, Dist3, Dist4, CosThetaPoint)
// Indexes: variable, ptbin

  Float_t tighterval[5][5];
 
  //number of steps for each variable is set in the AddTask arguments (default=8)

  tighterval[0][0]=0.025;
  tighterval[1][0]=0.09;
  tighterval[2][0]=0.09;
  tighterval[3][0]=0.06;
  tighterval[4][0]=0.955;

  tighterval[0][1]=0.015;
  tighterval[1][1]=0.12;
  tighterval[2][1]=0.10;
  tighterval[3][1]=0.085;
  tighterval[4][1]=0.99;

  tighterval[0][2]=0.025;
  tighterval[1][2]=0.0975;
  tighterval[2][2]=0.09;
  tighterval[3][2]=0.08;
  tighterval[4][2]=0.99;

  tighterval[0][3]=0.015;
  tighterval[1][3]=0.0975;
  tighterval[2][3]=0.07;
  tighterval[3][3]=0.075;
  tighterval[4][3]=0.9825;

  tighterval[0][4]=0.015;
  tighterval[1][4]=0.0975;
  tighterval[2][4]=0.07;
  tighterval[3][4]=0.075;
  tighterval[4][4]=0.9825;

  TString name=""; 
  Int_t arrdim=dim*nptbins;
  cout<<"Will save "<<arrdim<<" TParameter<float>"<<endl;
  TClonesArray max("TParameter<float>",arrdim);
  for(Int_t ival=0;ival<dim;ival++){
    for(Int_t jpt=0;jpt<nptbins;jpt++){
      name=Form("par%dptbin%d",ival,jpt);
      cout<<"Setting "<<name.Data()<<" to "<<tighterval[ival][jpt]<<endl;
      new(max[jpt*dim+ival])TParameter<float>(name.Data(),tighterval[ival][jpt]);
    }
  }

  Bool_t flagPID=kFALSE; 
  RDHFCharm4Prong->SetUsePID(flagPID);

  RDHFCharm4Prong->PrintAll();
  printf("Use PID? %s\n",flagPID ? "yes" : "no");

/*
  //pid settings
  AliAODPidHF* pidObj=new AliAODPidHF();
  //pidObj->SetName("pid4D0");
  Int_t mode=1;
  const Int_t nlims=2;
  Double_t plims[nlims]={0.6,0.8}; //TPC limits in momentum [GeV/c]
  Bool_t compat=kTRUE; //effective only for this mode
  Bool_t asym=kTRUE;
  Double_t sigmas[5]={2.,1.,0.,3.,0.}; //to be checked and to be modified with new implementation of setters by Rossella
  pidObj->SetAsym(asym);// if you want to use the asymmetric bands in TPC
  pidObj->SetMatch(mode);
  pidObj->SetPLimit(plims,nlims);
  pidObj->SetSigma(sigmas);
  pidObj->SetCompat(compat);
  pidObj->SetTPC(kTRUE);
  pidObj->SetTOF(kTRUE);
  RDHFCharm4Prong->SetPidHF(pidObj);

  RDHFCharm4Prong->SetUseDefaultPID(kFALSE); //to use the AliAODPidHF
*/
  
  //activate pileup rejection (for pp)
  RDHFCharm4Prong->SetOptPileup(AliRDHFCuts::kRejectPileupEvent);

  //Do not recalculate the vertex
  RDHFCharm4Prong->SetRemoveDaughtersFromPrim(kTRUE); //activate for pp

/* Per il pp levo la centralità!
//Metto kCentOff! Per il Pb c'era kCentV0M
  TString cent="";
  //centrality selection (Pb-Pb)
  Float_t minc=20,maxc=80;
  RDHFCharm4Prong->SetMinCentrality(minc);
  RDHFCharm4Prong->SetMaxCentrality(maxc);
  cent=Form("%.0f%.0f",minc,maxc);
  RDHFCharm4Prong->SetUseCentrality(AliRDHFCuts::kCentOff); //kCentOff,kCentV0M,kCentTRK,kCentTKL,kCentCL1,kCentInvalid
*/

  //temporary
//  RDHFCharm4Prong->SetFixRefs();

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