Exemple #1
0
Bool_t ThreePiParent::Process(Long64_t entry)
{
   THSOutput::HSProcessStart(entry);
//this selector has been configured to use a parent selector
//get the branch with something like fParent.b_beam->GetEntry(entry)
//then use the object like fParent.beam->P4().E();
   // The Process() function is called for each entry in the tree (or possibly
   // keyed object in the case of PROOF) to be processed. The entry argument
   // specifies which entry in the currently loaded tree is to be processed.
   // It can be passed to either ThreePiParent::GetEntry() or TBranch::GetEntry()
   // to read either all or the required parts of the data. When processing
   // keyed objects with PROOF, the object is already loaded and is available
   // via the fObject pointer.
   //
   // This function should contain the "body" of the analysis. It can contain
   // simple or elaborate selection criteria, run algorithms on the data
   // of the event and typically fill histograms.
   //
   // The processing can be stopped by calling Abort().
   //
   // Use fStatus to set the return value of TTree::Process().
   //
   // The return value is currently not used.
   GetEntry(entry); //lazy and slow, you can speed the code up by getting the branches you need to use instead
   fParent.GetEntry(GetParentEntry(entry)); //lazy and slow, optimise your own analysis by only getting the branches you need
   //Ready to do some analysis here, before the Fill
   
   //Int_t kinBin=GetKinBin();//if fHisbins is defined need to give this meaningful arguments
   FillHistograms("NoCut",0);
   if(fParent.beam->P4().E()>3) FillHistograms("Eg_gt_3",0);   
   THSOutput::HSProcessFill(); 


   return kTRUE;
}
//------------------------------------------------------------------------------
// FillLevelHistograms
//------------------------------------------------------------------------------
void AnalysisControl::FillLevelHistograms(int  icut,
					  bool pass)
{
  if (!pass) return;

  FillHistograms(_channel, icut, _jetbin);
  FillHistograms(_channel, icut, njetbin);
}
void FillHistogramsAll()
{
  FillHistograms("JetHT");
  FillHistograms("TT");
  /*
  FillHistograms("QCD_HT200to300");
  FillHistograms("QCD_HT300to500");
  FillHistograms("QCD_HT500to700");
  FillHistograms("QCD_HT700to1000");
  FillHistograms("QCD_HT1000to1500");
  FillHistograms("QCD_HT1500to2000");
  FillHistograms("QCD_HT2000toInf");
  */
}
Exemple #4
0
Bool_t sWeighter::Process(Long64_t entry)
{
   THSOutput::HSProcessStart(entry);
   // The Process() function is called for each entry in the tree (or possibly
   // keyed object in the case of PROOF) to be processed. The entry argument
   // specifies which entry in the currently loaded tree is to be processed.
   // It can be passed to either sWeighter::GetEntry() or TBranch::GetEntry()
   // to read either all or the required parts of the data. When processing
   // keyed objects with PROOF, the object is already loaded and is available
   // via the fObject pointer.
   //
   // This function should contain the "body" of the analysis. It can contain
   // simple or elaborate selection criteria, run algorithms on the data
   // of the event and typically fill histograms.
   //
   // The processing can be stopped by calling Abort().
   //
   // Use fStatus to set the return value of TTree::Process().
   //
   // The return value is currently not used.
   GetEntry(entry); //lazy and slow, you can speed the code up by getting the branches you need to use instead
   //Ready to do some analysis here, before the Fill
   if(!GetsWeight()) return kTRUE; //check if this event is in the sPlot
   
   //Int_t kinBin=GetKinBin();//if fHisbins is defined need to give this meaningful arguments
   //FillHistograms("Cut1",kinBin);
   FillHistograms("Cut1",0);
   //EnterKinBinList(kinBin,entry);//save evente in kinematic bins entry lists
   THSOutput::HSProcessFill(); 


   return kTRUE;
}
void FillHistogramsAll()
{
  TString FILENAME[12] = {
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_data_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_QCD-HT100_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_QCD-HT250_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_QCD-HT500_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_QCD-HT1000_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_ZJets_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_TTJets_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_T_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_Tbar_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_VBF-Powheg125_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_GluGlu-Powheg125_preselect_hard_tmva",
    "/afs/cern.ch/work/k/kkousour/private/data/vbfhbb/flatTree_GluGlu-Madgraph125_preselect_hard_tmva"
  };
  bool ApplyTriggerSel[12] = {true,true,true,true,true,true,true,true,true,true,true,true};
  bool isMC[12]            = {false,true,true,true,true,true,true,true,true,true,true,true}; 
  
  for(int i=0;i<12;i++) {
    FillHistograms(FILENAME[i],ApplyTriggerSel[i],isMC[i]);
  }  
}
Exemple #6
0
//------------------------------------------------------------------------------
// MakeGenHistoScript
//------------------------------------------------------------------------------
void MakeGenHistoScript(TString theSample)
{
  TH1::SetDefaultSumw2();

  TString path = Form("rootfiles/%s/", theSample.Data());

  gSystem->mkdir(path, kTRUE);

  TFile* output = new TFile(path + theSample + ".root", "recreate");

  // Histograms
  //----------------------------------------------------------------------------
  for (UInt_t i=0; i<nLevels; i++) {
    h1genMet           [i] = new TH1F("h1genMet"            + sLevel[i], "", 50, 0, 120);
    h1pfType1Met       [i] = new TH1F("h1pfType1Met"        + sLevel[i], "", 50, 0, 120);
    h1pfRawMet         [i] = new TH1F("h1pfRawMet"          + sLevel[i], "", 50, 0, 120);
    h1puppiMet         [i] = new TH1F("h1puppiMet"          + sLevel[i], "", 50, 0, 120);
    h1trkMet           [i] = new TH1F("h1trkMet"            + sLevel[i], "", 50, 0, 120);
    h1ppfType1Met      [i] = new TH1F("h1ppfType1Met"       + sLevel[i], "", 50, 0, 120);
    h1pfType1Metdn     [i] = new TH1F("h1pfType1Metdn"      + sLevel[i], "", 50, 0, 120);
    h1pfType1Metup     [i] = new TH1F("h1pfType1Metup"      + sLevel[i], "", 50, 0, 120);

    h2pfType1MetResol       [i] = new TH2F("h2pfType1MetResol"        + sLevel[i], "", 50, 0, 120, -10, 20);
    h2pfRawMetResol         [i] = new TH2F("h2pfRawMetResol"          + sLevel[i], "", 50, 0, 120, -10, 20);
    h2puppiMetResol         [i] = new TH2F("h2puppiMetResol"          + sLevel[i], "", 50, 0, 120, -10, 20);
    h2trkMetResol           [i] = new TH2F("h2trkMetResol"            + sLevel[i], "", 50, 0, 120, -10, 20);
    h2ppfType1MetResol      [i] = new TH2F("h2ppfType1MetResol"       + sLevel[i], "", 50, 0, 120, -10, 20);
  }

  // Data-driven methods: Top
  //----------------------------------------------------------------------------
  //TH1F* hTopTaggedEvents            = new TH1F("hTopTaggedEvents",            "", 3, 0, 3);

  //----------------------------------------------------------------------------
  // Input files
  //----------------------------------------------------------------------------
  TString filesPath = "/d3/scratch/khakim/RunII/LatinosTrees/";
  //TString filesPath = "/d3/scratch/khakim/RunII/LatinosTrees/";

  TChain* tree = new TChain("latino", "latino");

  if(theSample == "ggWWto2L"){
    //tree->Add(filesPath + "ggHww_PU20bx25_V2/latino_stepB_MC_ggHww_1.root");
    //tree->Add(filesPath + "ggHww_PU20bx25_V2/latino_stepB_MC_ggHww_2.root");
    //tree->Add(filesPath + "ggHww_PU20bx25_V2/latino_stepB_MC_ggHww_3.root");
    //tree->Add(filesPath + "ggHww_PU20bx25_V2/latino_stepB_MC_ggHww_4.root");
    tree->Add("/u/user/khakim/HWWwidth/RunII/CMSSW_7_4_4/src/LatinoTrees/AnalysisStep/test/latino_stepB_MC_numEvent10.root");
  }
  else if(theSample == "WWTo2L2Nu"){
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_1.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_10.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_11.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_12.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_14.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_15.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_17.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_18.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_19.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_20.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_7.root");
    tree->Add(filesPath + "WW_PU20bx25_V2/latino_stepB_MC_WW_9.root");
  }
  else if(theSample == "WWTo2L2Nu50ns"){
    tree->Add("/u/user/salee/Latino/CMSSW_7_4_4/src/LatinoTrees/AnalysisStep/test/latino_stepB_latinosYieldSkim_MC_WWTo2L2Nu50ns_wPUPPI_numEvent200.root");
  }
  else{
    return;
  }

  // Declaration of leaf types
  //----------------------------------------------------------------------------
  tree->SetBranchAddress("channel",         &channel);
  tree->SetBranchAddress("ch1",             &ch1);
  tree->SetBranchAddress("ch2",             &ch2);
  tree->SetBranchAddress("njet",            &njet);
  tree->SetBranchAddress("mll",             &mll);
  tree->SetBranchAddress("pt1",             &pt1);
  tree->SetBranchAddress("pt2",             &pt2);
  tree->SetBranchAddress("metGenpt",        &metGenpt);
  tree->SetBranchAddress("pfType1Met",      &pfType1Met);
  tree->SetBranchAddress("pfType1Metdn",    &pfType1Metdn);
  tree->SetBranchAddress("pfType1Metup",    &pfType1Metup);
  tree->SetBranchAddress("pfRawMet",        &pfRawMet);
  tree->SetBranchAddress("pupMet",          &pupMet);
  tree->SetBranchAddress("trkMet",          &trkMet);
  tree->SetBranchAddress("ppfMet",          &ppfMet);
  tree->SetBranchAddress("neutrinoGenpid1", &neutrinoGenpid1);
  tree->SetBranchAddress("neutrinoGenpid2", &neutrinoGenpid2);
  tree->SetBranchAddress("neutrinoGenpid3", &neutrinoGenpid3);
  tree->SetBranchAddress("event",           &event);
  tree->SetBranchAddress("v_jet1",          &v_jet1);       // jet1 4-vector
  tree->SetBranchAddress("std_vector_leptonGen_pid",    &std_vector_leptonGen_pid);
  tree->SetBranchAddress("std_vector_leptonGen_status", &std_vector_leptonGen_status);
  tree->SetBranchAddress("std_vector_leptonGen_pt",     &std_vector_leptonGen_pt);
  tree->SetBranchAddress("std_vector_leptonGen_mpid",   &std_vector_leptonGen_mpid);
  tree->SetBranchAddress("std_vector_leptonGen_mstatus",&std_vector_leptonGen_mstatus);

  //----------------------------------------------------------------------------
  // Loop
  //----------------------------------------------------------------------------
  //for (int ievent=0; ievent<tree->GetEntries(); ievent++)
  for (int ievent=0; ievent<3; ievent++)
  {
    tree->GetEntry(ievent);
    printf("Jet1(vector), pt=%.1f\n",v_jet1->Pt());

    printf("=============== Event %d ===============\n",event);
    printf("Index\tPID\tStatus\t\tmPID\tmStatus\tpT\n");
    printf("==========================================\n");
    for (UInt_t igen=0; igen<std_vector_leptonGen_pt->size(); igen++){
      printf("%d\t%.f\t%.f\t\t%.f\t%.f\t%.3f\n",
	  igen,
	  (*std_vector_leptonGen_pid)[igen],(*std_vector_leptonGen_status)[igen],
	  (*std_vector_leptonGen_mpid)[igen],(*std_vector_leptonGen_mstatus)[igen],
	  (*std_vector_leptonGen_pt)[igen]);
    }
    evtWeight = 1.0;

    if (theSample.Contains("ggWWto2L"))
    {
      evtWeight = 1.0;
    }
    else if (theSample.Contains("WWTo2L2Nu"))
    {
      evtWeight = 1.0;
    }

    // Help variables
    //--------------------------------------------------------------------------
    Int_t fidCut = ((ch1*ch2 ==-1.) && (mll>12.) && (pt1>20 && pt2>10));

    Float_t jetbin = njet;
    if(njet >= 2) jetbin = 2;

    if(!fidCut) continue;

    // Set the channel (decay, jet and channel)
    Int_t tauDecay = 0;
    for (UInt_t igen=0; igen<std_vector_leptonGen_mpid->size(); igen++){
      //printf("GenLvlInfo:\t%d\t%.f\t%.f\n", igen,(*std_vector_leptonGen_pid)[igen],(*std_vector_leptonGen_status)[igen]);
      if(fabs((*std_vector_leptonGen_mpid)[igen]) == 15) tauDecay = 1; 
    }

    //printf("Mother Info:\t%d\t%d\n", ievent,tauDecay);

    Int_t tauDecay_0jet = (tauDecay && jetbin == 0);
    Int_t tauDecay_1jet = (tauDecay && jetbin == 1);
    Int_t tauDecay_2jet = (tauDecay && jetbin == 2);

    Int_t emuDecay_0jet = (!tauDecay && jetbin == 0);
    Int_t emuDecay_1jet = (!tauDecay && jetbin == 1);
    Int_t emuDecay_2jet = (!tauDecay && jetbin == 2);

    Int_t emuDecay_SF = (!tauDecay && (channel == 0 || channel == 1));
    Int_t emuDecay_0jet_SF = (!tauDecay && jetbin == 0 && (channel == 0 || channel == 1));
    Int_t emuDecay_1jet_SF = (!tauDecay && jetbin == 1 && (channel == 0 || channel == 1));
    Int_t emuDecay_2jet_SF = (!tauDecay && jetbin == 2 && (channel == 0 || channel == 1));

    Int_t emuDecay_OF = (!tauDecay && (channel == 2 || channel == 3));
    Int_t emuDecay_0jet_OF = (!tauDecay && jetbin == 0 && (channel == 2 || channel == 3));
    Int_t emuDecay_1jet_OF = (!tauDecay && jetbin == 1 && (channel == 2 || channel == 3));
    Int_t emuDecay_2jet_OF = (!tauDecay && jetbin == 2 && (channel == 2 || channel == 3));

    //--------------------------------------------------------------------------

    //printf("\n%d\t\t%.0f\t%.0f\t%.0f\t%f\t%d\n", ievent,pt1,pt2,mll,channel,fidCut);
    for (UInt_t ilevel=0; ilevel<nLevels; ilevel++){
      if(ilevel == Level_InclJet)                         FillHistograms(Level_InclJet, jetbin);
      if(ilevel == Level_InclJet_emu && !tauDecay)        FillHistograms(Level_InclJet_emu, jetbin);
      if(ilevel == Level_InclJet_emu_SF && emuDecay_SF)   FillHistograms(Level_InclJet_emu_SF, jetbin);
      if(ilevel == Level_InclJet_emu_OF && emuDecay_OF)   FillHistograms(Level_InclJet_emu_OF, jetbin);
      if(ilevel == Level_InclJet_tau && tauDecay)         FillHistograms(Level_InclJet_tau, jetbin);
      if(ilevel == Level_0Jet && jetbin == 0)             FillHistograms(Level_0Jet, jetbin);
      if(ilevel == Level_0Jet_emu && emuDecay_0jet)       FillHistograms(Level_0Jet_emu, jetbin);
      if(ilevel == Level_0Jet_emu_SF && emuDecay_0jet_SF) FillHistograms(Level_0Jet_emu_SF, jetbin);
      if(ilevel == Level_0Jet_emu_OF && emuDecay_0jet_OF) FillHistograms(Level_0Jet_emu_OF, jetbin);
      if(ilevel == Level_0Jet_tau && tauDecay_0jet)       FillHistograms(Level_0Jet_tau, jetbin);
      if(ilevel == Level_1Jet && jetbin == 1)             FillHistograms(Level_1Jet, jetbin);
      if(ilevel == Level_1Jet_emu && emuDecay_1jet)       FillHistograms(Level_1Jet_emu, jetbin);
      if(ilevel == Level_1Jet_emu_SF && emuDecay_1jet_SF) FillHistograms(Level_1Jet_emu_SF, jetbin);
      if(ilevel == Level_1Jet_emu_OF && emuDecay_1jet_OF) FillHistograms(Level_1Jet_emu_OF, jetbin);
      if(ilevel == Level_1Jet_tau && tauDecay_1jet)       FillHistograms(Level_1Jet_tau, jetbin);
      if(ilevel == Level_2Jet && jetbin == 2)             FillHistograms(Level_2Jet, jetbin);
      if(ilevel == Level_2Jet_emu && emuDecay_2jet)       FillHistograms(Level_2Jet_emu, jetbin);
      if(ilevel == Level_2Jet_emu_SF && emuDecay_2jet_SF) FillHistograms(Level_2Jet_emu_SF, jetbin);
      if(ilevel == Level_2Jet_emu_OF && emuDecay_2jet_OF) FillHistograms(Level_2Jet_emu_OF, jetbin);
      if(ilevel == Level_2Jet_tau && tauDecay_2jet)       FillHistograms(Level_2Jet_tau, jetbin);
    }
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  }

    // Save the histograms
    //----------------------------------------------------------------------------
    output->cd();
    output->Write("", TObject::kOverwrite);
    output->Close();
  }
Exemple #7
0
//----------------------------------------------------------------------
void AliITSDigitPlot(Int_t istart=0,Int_t iend=-1,
                     const char *filename="galice.root"){
    // Macro to plot digits from many events
    // Inputs:
    //   Int_t istart   Starting event number
    //   Int_t iend     Last event number, =-1 all
    // Outputs:
    //   none.
    // Return:
    //   none.
    if (gClassTable->GetID("AliRun") < 0) {
        gROOT->ProcessLine(".x $(ALICE_ROOT)/macros/loadlibs.C");
    }
    if(gAlice){
        delete AliRunLoader::Instance();
        delete gAlice;
        gAlice=0;
    } // end if gAlice

    Int_t nevents=0,nmodules=0,retval=0;
    Int_t i,j,module,dig,ndig,row,column,signal,det;
    AliITS       *its    = 0;
    AliITSgeom   *gm     = 0;
    AliRunLoader *rl     = 0;
    AliITSLoader *ld     = 0;
    TTree        *treeD  = 0;
    TBranch      *br     = 0;
    TClonesArray *digits = 0;
    AliITSdigit  *d      = 0;
    TObjArray    *digDet = 0;
    Char_t *branchname[3] = {"ITSDigitsSPD","ITSDigitsSDD","ITSDigitsSSD"};
    //
    rl = AliRunLoader::Open(filename);
    if(!rl){
        cerr<<"Error, can not open file "<<filename<<endl;
        return;
    } // end if !rl
    retval = rl->LoadgAlice();
    if (retval){
        cerr<<"Error, LoadgAlice returned error"<<endl;
        return;
    }
    gAlice = rl->GetAliRun();
    retval = rl->LoadHeader();
    if (retval){
        cerr<<"Error, LoadHeader returned error"<<endl;
        return;
    } // end if
    ld = (AliITSLoader*) rl->GetLoader("ITSLoader");
    if(!ld){
        cerr<<"Error, ITS loader not found"<<endl;
        return;
    } // end if
    its = (AliITS*) gAlice->GetModule("ITS");
    if(!its){
        cerr <<"Error, No AliDetector ITS found on file"<<endl;
        return;
    } // end if
    gm  = its->GetITSgeom();
    if(!gm){
        cerr <<"Error, AliITSgeom not initilized in module ITS"<<endl;
        return;
    } // end if
    nevents = rl->GetNumberOfEvents();
    if(iend>nevents) iend = nevents;
    if(iend<0)       iend = nevents;
    if(iend<=istart){delete rl; return;}
    nmodules = gm->GetIndexMax();
    ld->GetDigitsDataLoader()->Load("read");
    treeD = ld->TreeD();
    if(!treeD){
        cerr <<"Error, could not get TreeD="<<treeD << endl;
        return;
    } // end if !treeD
    digDet = new TObjArray(3);
    its->SetDefaults();
    for(det=0;det<3;det++){
        digDet->AddAt(new TClonesArray(its->GetDetTypeSim()->
                                        GetDigitClassName(det),1000),det);
        br = treeD->GetBranch(branchname[det]);
        br->SetAddress(&((*digDet)[det]));
    } // end for det

    //
    SetUPHistograms();
    //
    for(i=istart;i<iend;i++){
        rl->GetEvent(i);
        treeD = ld->TreeD();
        for(det=0;det<3;det++){
            ((TClonesArray*)(digDet->At(det)))->Clear();
            br = treeD->GetBranch(branchname[det]);
            br->SetAddress(&((*digDet)[det]));
        } // end for det
        for(module=0;module<nmodules;module++){
            for(j=0;j<3;j++) ((TClonesArray*)(digDet->At(j)))->Clear();
            treeD->GetEvent(module);
            digits = (TClonesArray*) (digDet->At(0)); // SPD only.
            ndig = digits->GetEntriesFast();
            for(dig=0;dig<ndig;dig++){
                d = (AliITSdigit*) digits->At(dig);
                row    = d->GetCoord1();
                column = d->GetCoord1();
                signal = d->GetSignal();
                     //cout <<"event="<<i<< " ndig="<< ndig<< " mod="
                     //<<module<<" row="<<row<<" col="<<column<< " sig="
                     //<<signal<<endl;
                FillHistograms(module,row,column,signal);
            } // end for mod
        } // end for module
    } // end for i
    DisplayHistograms();
    delete digits;
    return;
}
void FillHistogramsAll()
{
  
  FillHistograms("TT_TuneCUETP8M1_13TeV-powheg-pythia8",true,true,true);
 
  FillHistograms("QCD_HT300to500_TuneCUETP8M1_13TeV-madgraphMLM-pythia8",true,false,false);
  FillHistograms("QCD_HT500to700_TuneCUETP8M1_13TeV-madgraphMLM-pythia8",true,false,false);
  FillHistograms("QCD_HT700to1000_TuneCUETP8M1_13TeV-madgraphMLM-pythia8",true,false,false);
  FillHistograms("QCD_HT1000to1500_TuneCUETP8M1_13TeV-madgraphMLM-pythia8",true,false,false);
  FillHistograms("QCD_HT1500to2000_TuneCUETP8M1_13TeV-madgraphMLM-pythia8",true,false,false);
  FillHistograms("QCD_HT2000toInf_TuneCUETP8M1_13TeV-madgraphMLM-pythia8",true,false,false);
  
  FillHistograms("JetHT",false,false,false);
  
  FillHistograms("DYJetsToQQ_HT180_13TeV-madgraphMLM-pythia8",true,false,false);
  FillHistograms("WJetsToQQ_HT180_13TeV-madgraphMLM-pythia8",true,false,false);
  
  FillHistograms("ST_t-channel_top_4f_inclusiveDecays_13TeV-powhegV2-madspin-pythia8_TuneCUETP8M1",true,false,false);
  FillHistograms("ST_t-channel_antitop_4f_inclusiveDecays_13TeV-powhegV2-madspin-pythia8_TuneCUETP8M1",true,false,false);
  FillHistograms("ST_tW_antitop_5f_inclusiveDecays_13TeV-powheg-pythia8_TuneCUETP8M1",true,false,false);
  FillHistograms("ST_tW_top_5f_inclusiveDecays_13TeV-powheg-pythia8_TuneCUETP8M1",true,false,false);
 
  /*
  FillHistograms("TTJets_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8",true,false); 
  FillHistograms("TTJets_TuneCUETP8M1_13TeV-madgraphMLM-pythia8",true,false);
  FillHistograms("TT_TuneCUETP8M1_13TeV-powheg-scaledown-pythia8",true,false);
  FillHistograms("TT_TuneCUETP8M1_13TeV-powheg-scaleup-pythia8",true,false);
  FillHistograms("TT_TuneCUETP8M1_mtop1665_13TeV-powheg-pythia8",true,false);
  FillHistograms("TT_TuneCUETP8M1_mtop1695_13TeV-powheg-pythia8",true,false);
  FillHistograms("TT_TuneCUETP8M1_mtop1715_13TeV-powheg-pythia8",true,false);
  FillHistograms("TT_TuneCUETP8M1_mtop1735_13TeV-powheg-pythia8",true,false);
  FillHistograms("TT_TuneCUETP8M1_mtop1755_13TeV-powheg-pythia8",true,false);
  FillHistograms("TT_TuneCUETP8M1_mtop1785_13TeV-powheg-pythia8",true,false);
  FillHistograms("TT_TuneCUETP8M1mpiOFF_13TeV-powheg-pythia8",true,false);
  FillHistograms("TT_TuneEE5C_13TeV-powheg-herwigpp",true,false);
  
  //FillHistograms("QCD_HT200to300_TuneCUETP8M1_13TeV-madgraphMLM-pythia8",true,false);
  
  */
 
  
}