void Plot_AM_MTR2j_07Sep_Susy_3_auto() {
 TString cutNameBefore = Form("Data/");

 //                            cut_variable 
 TString cutNameAfter  = Form("_3_4_Tot_temp");

 gROOT->LoadMacro("PlotVHqqHggH.C+");
 gInterpreter->ExecuteMacro("LatinoStyle2.C");

 TCanvas* c1 = new TCanvas("MTR2j","MTR2j",500,600);
 TFile* f = new TFile("~/Cern/Code/VBF/qqHWW/AnalysisPackage_qqHWWlnulnu/out_test_Latinos_07Sep2012_2000_Run2012AB_8TeV_SUSY.root");


 PlotVHqqHggH* hs = new PlotVHqqHggH();

 hs->setLumi(5.063);
 hs->setLabel("m_{T}R_{jet-jet}");
 hs->addLabel("    #sqrt{s} = 8 TeV");

 TString name;

 std::vector<int> vectColourBkg;        
 std::vector<double> vectSystBkg;       
 std::vector<std::string> vectNameBkg;  
 std::vector<TH1F*> vectTHBkg;          

 std::vector<int> vectColourSig;      
 std::vector<double> vectSystSig;       
 std::vector<std::string> vectNameSig;  
 std::vector<TH1F*> vectTHSig;          

 ///==== signal (begin) ====

 name = Form("%sT2tt-350-70%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHSig.push_back ( (TH1F*) f->Get(name) );
 vectNameSig.push_back ("T2tt-stop350-lsp70");
 vectColourSig.push_back(6);

 name = Form("%sT2tt-500-70%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHSig.push_back ( (TH1F*) f->Get(name) );
 vectNameSig.push_back ("T2tt-stop500-lsp70");
 vectColourSig.push_back(97);

 name = Form("%sT2tt-350-100%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHSig.push_back ( (TH1F*) f->Get(name) );
 vectNameSig.push_back ("T2tt-stop350-lsp100");
 vectColourSig.push_back(70);

 name = Form("%sT2tt-500-100%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHSig.push_back ( (TH1F*) f->Get(name) );
 vectNameSig.push_back ("T2tt-stop500-lsp100");
 vectColourSig.push_back(65);

 name = Form("%sT2tt-500-200%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHSig.push_back ( (TH1F*) f->Get(name) );
 vectNameSig.push_back ("T2tt-stop500-lsp200");
 vectColourSig.push_back(5);

 name = Form("%sT2tt-200-0%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHSig.push_back ( (TH1F*) f->Get(name) );
 vectNameSig.push_back ("T2tt-stop200-lsp0");
 vectColourSig.push_back(7);

 ///==== signal (end)  ====

 name = Form("%sDATA%s",cutNameBefore.Data(),cutNameAfter.Data());
 hs->setDataHist ((TH1F*)f->Get(name));



 hs->setBlindBinSx(0);
 hs->setBlindBinDx(0);

 hs->setCutSx(-999,">");
 hs->setCutDx(-999,"<");


 ///==== background (begin)  ====

 name = Form("%sH-125%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHBkg.push_back ( (TH1F*) f->Get(name) );
 vectNameBkg.push_back ("H-125");
 vectColourBkg.push_back(633);
 vectSystBkg.push_back(0.00);


 name = Form("%sVV%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHBkg.push_back ( (TH1F*) f->Get(name) );
 vectNameBkg.push_back ("WZ/ZZ");
 vectColourBkg.push_back(858);
 vectSystBkg.push_back(0.00);

 name = Form("%sWJets%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHBkg.push_back ( (TH1F*) f->Get(name) );
 vectNameBkg.push_back ("W+jets");
 vectColourBkg.push_back(921);
 vectSystBkg.push_back(0.36);

 name = Form("%sTop%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHBkg.push_back ( (TH1F*) f->Get(name) );
 vectNameBkg.push_back ("top");
 vectColourBkg.push_back(400);
 vectSystBkg.push_back(0.00);

 name = Form("%sZJets%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHBkg.push_back ( (TH1F*) f->Get(name) );
 vectNameBkg.push_back ("DY+jets");
 vectColourBkg.push_back(418);
 vectSystBkg.push_back(0.00);
 name = Form("%sWW%s",cutNameBefore.Data(),cutNameAfter.Data());
 vectTHBkg.push_back ( (TH1F*) f->Get(name) );
 vectNameBkg.push_back ("WW");
 vectColourBkg.push_back(851);
 vectSystBkg.push_back(0.00);




 ///==== background (end)  ====


 hs->set_vectTHBkg     (vectTHBkg);      
 hs->set_vectNameBkg   (vectNameBkg);    
 hs->set_vectColourBkg (vectColourBkg);  
 hs->set_vectSystBkg   (vectSystBkg);    

 hs->set_vectTHSig     (vectTHSig);      
 hs->set_vectNameSig   (vectNameSig);    
 hs->set_vectColourSig (vectColourSig);  
 //  hs->set_vectSystSig   (vectSystSig);



 hs->set_addSignal (0); //---- stack signal = 1, no stack signal = 0  


 hs->prepare();


 ///==== draw ====



 hs->Draw(c1,1,true);

 c1->Print("07Sep_Susy_3/MTR2j.pdf");
 c1->Print("07Sep_Susy_3/MTR2j.png");

 c1->SetLogy();
 hs->Draw(c1,1,true);
 c1->Print("07Sep_Susy_3/MTR2j_logy.pdf");
 c1->Print("07Sep_Susy_3/MTR2j_logy.png");
}
コード例 #2
0
void Plot_AM_WW2jewk_Propaganda_Moriond() {
 
 //  TString folder = Form("sig/");
 //  TString nameChannel = Form ("of_2j/");
 //  TString cutNameBefore = Form("sig/%shisto_",nameChannel.Data());
 
 TString folder = Form("init/");
 TString nameChannel = Form ("of_2j/");
 TString cutNameBefore = Form("init/%shisto_",nameChannel.Data());
 
 //  TString folder = Form("bkg/");
 //  TString nameChannel = Form ("of_vh2j/");
 //  TString cutNameBefore = Form("bkg/%shisto_",nameChannel.Data());
 
 
 //                            cut_variable 
 TString cutNameAfter  = Form("");
 
 gROOT->LoadMacro("PlotVHqqHggH.C+");
 gInterpreter->ExecuteMacro("LatinoStyle2.C");
 
 //  TCanvas* c1 = new TCanvas("mll","mll",500,600);
 TCanvas* c1 = new TCanvas("mll","mll",550,660);

 TFile* f[10];
 
 f[0] = new TFile("postFit-WW2jewk/WWewk-error.root");
 
 
 PlotVHqqHggH* hs = new PlotVHqqHggH();
 
 hs->setLabel("mva");
 
 //  hs->setLumi(20);
 //  hs->setLumi(200);
 //  hs->addLabel("#splitline{      WHSC}{     #sqrt{s} = 13 TeV}");
  
 hs->setLumi(19.4);
 hs->addLabel("#splitline{     WWewk}{     #sqrt{s} = 8 TeV}");
//  
 TString name;
 
 std::vector<int> vectColourBkg;        
 std::vector<double> vectSystBkg;       
 std::vector<double> vectScaleBkg;      
 std::vector<std::string> vectNameBkg;  
 std::vector<double> vectNormalizationBkg; 
 std::vector<TH1F*> vectTHBkg;          
 
 std::vector<int> vectColourSig;      
 std::vector<double> vectSystSig;       
 std::vector<double> vectScaleSig;      
 std::vector<std::string> vectNameSig;  
 std::vector<double> vectNormalizationSig; 
 std::vector<TH1F*> vectTHSig;          
 
 
 std::vector<int> binsToSelect; 
 
 int NMAXX = 20;  
//  int NMAXX = 9;  
 int NMAXY = 1;  
 
 int minNY = 0;
 int minNX = 0;
 
 //---- all ----
 int NX = NMAXX;
 int NY = NMAXY;
 
 
 
 for (int iFile = 0; iFile<1; iFile++) {
  
  std::cout << "iFile = " << iFile << std::endl;
  
  ///---- project along X : sum over Y
  for (int iY=minNY; iY<NY; iY++){
   binsToSelect.clear();
   for (int iX=minNX; iX<NX; iX++){
    binsToSelect.push_back (iX*NMAXY+iY+1);
    std::cout << " iX*NY+iY+1 = " << iX*NY+iY+1 << std::endl;
   }
   
   ///==== signal (begin) ====
   
   //---- second file :: 0 jet bin
   
   name = Form("%sWWewk%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameSig.push_back ("WWewk");
   vectColourSig.push_back(633);
   vectScaleSig.push_back(1.0000);
   vectNormalizationSig.push_back(0.018);
     
   
   ///==== signal (end)  ====
   
   name = Form("%sData%s",cutNameBefore.Data(),cutNameAfter.Data());
   hs->setDataHist (FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)));
   
   ///==== background (begin)  ====
   
   //---- second file :: 0 jet bin
   
      
   name = Form("%sggH%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameBkg.push_back ("H m_{H}=125");
   vectColourBkg.push_back(6);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.719);  
   
   name = Form("%sqqH%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameBkg.push_back ("H m_{H}=125");
   vectColourBkg.push_back(6);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(2.565);
   
   
   name = Form("%sVV%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameBkg.push_back ("WZ/ZZ");
   vectColourBkg.push_back(858);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.281);
   
   name = Form("%sWJet%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameBkg.push_back ("W+jets");
   vectColourBkg.push_back(921);
   vectSystBkg.push_back(0.36);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.667);
   
   name = Form("%sVg%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameBkg.push_back ("V+#gamma/V+#gamma*");
   vectColourBkg.push_back(616+1);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(1.000);
   
   name = Form("%sVgS%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameBkg.push_back ("V+#gamma/V+#gamma*");
   vectColourBkg.push_back(616+2);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(1.000);
   
   
   name = Form("%sTop%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameBkg.push_back ("Top");
   vectColourBkg.push_back(400);
   vectSystBkg.push_back(0.07);
   vectScaleBkg.push_back(0.8);
   vectNormalizationBkg.push_back(5.654);
   
   name = Form("%sDYTT%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameBkg.push_back ("DYTT");
   vectColourBkg.push_back(418);
   vectSystBkg.push_back(0.11);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.377);
   
   name = Form("%sWW%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameBkg.push_back ("WW");
   vectColourBkg.push_back(851);
   vectSystBkg.push_back(0.50);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(2.256);
   
   name = Form("%sggWW%s",cutNameBefore.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
   vectNameBkg.push_back ("WW");
   vectColourBkg.push_back(853);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(2.256);
   
//    name = Form("%sVVV%s",cutNameBefore.Data(),cutNameAfter.Data());
//    vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f[iFile]->Get(name)) );
//    vectNameBkg.push_back ("VVV");
//    vectColourBkg.push_back(854);
//    vectSystBkg.push_back(0.00);
//    vectScaleBkg.push_back(1.0000);
//    vectNormalizationBkg.push_back(2.256);
   
   ///==== background (end)  ====
   
//    hs->setBlindBinSx(10);
   hs->setBlindBinSx(0);
   hs->setBlindBinDx(10);
   
   hs->setCutSx(-999,">");
   hs->setCutDx(-999,"<");
   
   name = Form("%s%smodel_errs",folder.Data(),nameChannel.Data()); 
   std::cout << " name = " << name.Data() << std::endl;  
   
   hs->set_ErrorBand( *(FilterBins(binsToSelect, (TGraphAsymmErrors*) f[iFile]->Get(name))) );  
   
  }
 }
 
 std::cout << " * end iFile * " << std::endl;
 
 hs->set_vectTHBkg     (vectTHBkg);      
 hs->set_vectNameBkg   (vectNameBkg);    
 hs->set_vectColourBkg (vectColourBkg);  
 hs->set_vectSystBkg   (vectSystBkg);    
 // hs->set_vectScaleBkg  (vectScaleBkg);   
 
 hs->set_vectTHSig     (vectTHSig);      
 hs->set_vectNameSig   (vectNameSig);    
 hs->set_vectColourSig (vectColourSig);  
//  hs->set_vectScaleSig  (vectScaleSig);   
 
 

//  hs->addWeight(NY-minNY); //---- add S/(S+B) weight ---> used only for propaganda plot and data-background
//  hs->addWeight1D(NY-minNY); //---- add S/(S+B) weight ---> used only for propaganda plot and data-background
 
 hs->prepare();
 
 hs->mergeSamples(); //---- merge trees with the same name! ---- to be called after "prepare" !
 
 hs->set_addSignalOnBackground(1); // 1 = signal over background , 0 = signal on its own
 
 hs->set_mergeSignal(0);    // 1 = merge signal in 1 bin, 0 = let different signals as it is
 
 hs->setMass(125); 
 
// hs->set_plotSigAlone(true); //---- false = "do not plot signal not-stacked to the background
 
 
 hs->set_doLabelNumber ( false ) ;
 
 ///==== draw ====
  
 TCanvas* c1bis = new TCanvas("bkgSub","bkgSub",500,500);
 
//  hs->setUnits ("GeV");
 double vedges[] = {-1.0,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,-0.2,-0.1,0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0};
//  double vedges[] = {-1.0, -0.5, 0.0, 0.2, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0};
 std::vector<double> vEdges (vedges, vedges + sizeof(vedges) / sizeof(double) );
 hs->set_vectEdges(vEdges);
 hs->set_divide(0); //---- if 1 then divide by bin width
 //   hs->set_divide(1); //---- if 1 then divide by bin width
  
 //----  canvas, rebin, div, shadow, background subtracted canvas ----
 hs->Draw(c1,1,true,true,c1bis);
 
 c1->Print("mll.pdf");
 c1->Print("mll.png");
 c1->Print("mll.eps");
 
 c1bis->Print("bkgSub_mll.pdf");
 c1bis->Print("bkgSub_mll.png");
 c1bis->Print("bkgSub_mll.eps");
 
}
コード例 #3
0
ファイル: TUTTAXsvn.C プロジェクト: amassiro/usercode
void TUTTAXsvn() {
 
 float SCALEMU = 1.0/0.8;
 
 TString folder = Form("sig/");
 TString cutNameBefore = Form("sig/histo_");
 
 //  TString folder = Form("init/");
 //  TString cutNameBefore = Form("init/histo_");
 
 //  TString folder = Form("bkg/");
 //  TString cutNameBefore = Form("bkg/histo_");
 
 //                            cut_variable 
 TString cutNameAfter  = Form("");
 
 gROOT->LoadMacro("PlotVHqqHggH.C+");
 gInterpreter->ExecuteMacro("../Plot/LatinoStyle2.C");
 
 TCanvas* c1 = new TCanvas("mll","mll",500,600);
 //  TFile* f = new TFile("postFitMll/mH125.root");
 //  TFile* f = new TFile("postFitDF0J/of0j_mH125.root");
 
 
 
//  bool do7and8TeV = true;
 bool do7and8TeV = true;
//  TFile* f0 = new TFile("postFit0J-SS/mH125-0j-SS.root");
 
 
 
 TFile* f1 = new TFile("mH125-error-SVN.root");
 TFile* f2 = new TFile("mH125-error-SVN.root");
 TFile* f0 = new TFile("mH125-error-SVN.root");
 TFile* f3 = new TFile("mH125-error-SVN.root");
 
 TString cutNameBeforeBIN0 = Form ("hwwof0j7TeV/histo_");
 TString cutNameBeforeBIN1 = Form ("hwwof1j7TeV/histo_");
 TString cutNameBeforeBIN2 = Form ("hwwof0j8TeV/histo_");
 TString cutNameBeforeBIN3 = Form ("hwwof1j8TeV/histo_");

 TString folderError0 = Form ("hwwof0j7TeV/");
 TString folderError1 = Form ("hwwof1j7TeV/");
 TString folderError2 = Form ("hwwof0j8TeV/");
 TString folderError3 = Form ("hwwof1j8TeV/");
 
 
 PlotVHqqHggH* hs = new PlotVHqqHggH();
 
//  hs->setLumi(12.103);
 if (do7and8TeV) {
  hs->setLumi(19.5+4.9);
 }
 else {
  hs->setLumi(19.5);
 }
 //  hs->setLabel("M_{ll} [GeV]");
 hs->setLabel("m_{T}^{ll-E_{T}^{miss}}");
 hs->setUnits("GeV");
 hs->addLabel("0+1 jet  #sqrt{s} = 7+8 TeV");
 
 TString name;
 
 std::vector<int> vectColourBkg;        
 std::vector<double> vectSystBkg;       
 std::vector<double> vectScaleBkg;      
 std::vector<std::string> vectNameBkg;  
 std::vector<double> vectNormalizationBkg; 
 std::vector<TH1F*> vectTHBkg;          
 
 std::vector<int> vectColourSig;      
 std::vector<double> vectSystSig;       
 std::vector<double> vectScaleSig;      
 std::vector<std::string> vectNameSig;  
 std::vector<double> vectNormalizationSig; 
 std::vector<TH1F*> vectTHSig;          
 
 
 std::vector<int> binsToSelect; 
 
 //  x HCP 2012
 //   int NMAXX = 10;  
 //   int NMAXY = 8;  
 //   int NX = 4;
 //   int NY = 4;
 
 
 //---- nice subregion ----
 // int NX = 6;
 // int NX = 9;
//  int NY = 5;
 // int NX = 8;
//   int NX = 6;
//   int NY = 4;
//   int NY = 3;

 
//  //  x Moriond 2013
//  int NMAXX = 14;  
//  int NMAXY = 9;  
//  // int NX = 8;
//  
//  int minNY = 0;
//  int NY = 3;
//  
//  //---- all ----
//  int NX = NMAXX;
// //  int NY = NMAXY;
//  
//  
 
 
 
 
 //  x Moriond 2013 : all 2D plane: weighted approach
 int NMAXX = 14;  
 int NMAXY = 9;  
 // int NX = 8;
 
 int NX = NMAXX;
 int minNY = 0;
 int NY = NMAXY;
 
 
 
 
 
 
 ///---- project along X : sum over Y
 for (int iY=minNY; iY<NY; iY++){
  binsToSelect.clear();
  for (int iX=0; iX<NX; iX++){
   binsToSelect.push_back (iX*NMAXY+iY+1);
   std::cout << " iX*NY+iY+1 = " << iX*NY+iY+1 << std::endl;
  }
  
  
  ///==== signal (begin) ====
  
  TString cutNameBeforeUpdated = Form ("%s%s",folder.Data(),cutNameBeforeBIN0.Data());
  
  //---- second file :: 0 jet bin
  name = Form("%sggH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameSig.push_back ("ggH m_{H}=125");
  vectColourSig.push_back(633);
  vectScaleSig.push_back(SCALEMU*1.0000);
  vectNormalizationSig.push_back(0.719);
  
  name = Form("%sqqH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameSig.push_back ("qqH m_{H}=125");
  vectColourSig.push_back(634);
  vectScaleSig.push_back(SCALEMU*1.0000);
  vectNormalizationSig.push_back(2.565);
  
//   name = Form("%sZH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
//   std::cout << " name = " << name.Data() << std::endl;
//   vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
//   vectNameSig.push_back ("VH m_{H}=125");
//   vectColourSig.push_back(635);
//   vectScaleSig.push_back(SCALEMU*1.0000);
//   vectNormalizationSig.push_back(0.018);
// 
//   name = Form("%sWH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
//   std::cout << " name = " << name.Data() << std::endl;
//   vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
//   vectNameSig.push_back ("VH m_{H}=125");
//   vectColourSig.push_back(635);
//   vectScaleSig.push_back(SCALEMU*1.0000);
//   vectNormalizationSig.push_back(0.018);
  
  ///==== signal (end)  ====
  
  name = Form("%sData%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  hs->setDataHist (FilterBins(binsToSelect, (TH1F*) f0->Get(name)));
  
  ///==== background (begin)  ====
  
  //---- second file :: 0 jet bin
  
  name = Form("%sVV%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameBkg.push_back ("WZ/ZZ");
  vectColourBkg.push_back(858);
  vectSystBkg.push_back(0.00);
  vectScaleBkg.push_back(1.0000);
  vectNormalizationBkg.push_back(0.281);
  
  name = Form("%sWjetsE%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameBkg.push_back ("W+jets");
  vectColourBkg.push_back(921);
  vectSystBkg.push_back(0.36);
  vectScaleBkg.push_back(1.0000);
  vectNormalizationBkg.push_back(0.667);

  name = Form("%sWjetsM%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameBkg.push_back ("W+jets");
  vectColourBkg.push_back(921);
  vectSystBkg.push_back(0.36);
  vectScaleBkg.push_back(1.0000);
  vectNormalizationBkg.push_back(0.667);
  
  name = Form("%sWgamma%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameBkg.push_back ("V+#gamma");
  vectColourBkg.push_back(616+1);
  vectSystBkg.push_back(0.00);
  vectScaleBkg.push_back(1.0000);
  vectNormalizationBkg.push_back(1.000);
  
  name = Form("%sWg3l%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameBkg.push_back ("V+#gamma*");
  vectColourBkg.push_back(616+2);
  vectSystBkg.push_back(0.00);
  vectScaleBkg.push_back(1.0000);
  vectNormalizationBkg.push_back(1.000);
  
  
  name = Form("%sTop%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameBkg.push_back ("top");
  vectColourBkg.push_back(400);
  vectSystBkg.push_back(0.07);
  vectScaleBkg.push_back(1.0000);
  vectNormalizationBkg.push_back(5.654);
  
  name = Form("%sZjets%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameBkg.push_back ("DY+jets");
  vectColourBkg.push_back(418);
  vectSystBkg.push_back(0.11);
  vectScaleBkg.push_back(1.0000);
  vectNormalizationBkg.push_back(0.377);
 
  name = Form("%sqqWW%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameBkg.push_back ("WW");
  vectColourBkg.push_back(851);
  vectSystBkg.push_back(0.50);
  vectScaleBkg.push_back(1.0000);
  vectNormalizationBkg.push_back(2.256);
  name = Form("%sggWW%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
  std::cout << " name = " << name.Data() << std::endl;
  vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f0->Get(name)) );
  vectNameBkg.push_back ("ggWW");
  vectColourBkg.push_back(853);
  vectSystBkg.push_back(0.00);
  vectScaleBkg.push_back(1.0000);
  vectNormalizationBkg.push_back(2.256);
  
  ///==== background (end)  ====
  
  
  
  if (do7and8TeV) {
   ///==== signal (begin) ====
   cutNameBeforeUpdated = Form ("%s%s",folder.Data(),cutNameBeforeBIN1.Data());
   
   //---- second file :: 0 jet bin
   name = Form("%sggH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameSig.push_back ("ggH m_{H}=125");
   vectColourSig.push_back(633);
   vectScaleSig.push_back(SCALEMU*1.0000);
   vectNormalizationSig.push_back(0.719);
   
   name = Form("%sqqH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameSig.push_back ("qqH m_{H}=125");
   vectColourSig.push_back(634);
   vectScaleSig.push_back(SCALEMU*1.0000);
   vectNormalizationSig.push_back(2.565);
   
//    name = Form("%sZH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
//    vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
//    vectNameSig.push_back ("VH m_{H}=125");
//    vectColourSig.push_back(635);
//    vectScaleSig.push_back(SCALEMU*1.0000);
//    vectNormalizationSig.push_back(0.018);
// 
//    name = Form("%sWH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
//    vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
//    vectNameSig.push_back ("VH m_{H}=125");
//    vectColourSig.push_back(635);
//    vectScaleSig.push_back(SCALEMU*1.0000);
//    vectNormalizationSig.push_back(0.018);
   
   ///==== signal (end)  ====
   
   name = Form("%sData%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   hs->setDataHist (FilterBins(binsToSelect, (TH1F*) f1->Get(name)));
   
   ///==== background (begin)  ====
   
   //---- second file :: 0 jet bin
   
   name = Form("%sVV%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameBkg.push_back ("WZ/ZZ");
   vectColourBkg.push_back(858);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.281);
   
   name = Form("%sWjetsE%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameBkg.push_back ("W+jets");
   vectColourBkg.push_back(921);
   vectSystBkg.push_back(0.36);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.667);

   name = Form("%sWjetsM%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameBkg.push_back ("W+jets");
   vectColourBkg.push_back(921);
   vectSystBkg.push_back(0.36);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.667);
   
   name = Form("%sWgamma%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameBkg.push_back ("V+#gamma");
   vectColourBkg.push_back(616+1);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(1.000);
   
   name = Form("%sWg3l%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameBkg.push_back ("V+#gamma*");
   vectColourBkg.push_back(616+2);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(1.000);
   
   
   name = Form("%sTop%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameBkg.push_back ("top");
   vectColourBkg.push_back(400);
   vectSystBkg.push_back(0.07);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(5.654);
   
   name = Form("%sZjets%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameBkg.push_back ("DY+jets");
   vectColourBkg.push_back(418);
   vectSystBkg.push_back(0.11);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.377);
 
   name = Form("%sqqWW%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameBkg.push_back ("WW");
   vectColourBkg.push_back(851);
   vectSystBkg.push_back(0.50);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(2.256);
   
   name = Form("%sggWW%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f1->Get(name)) );
   vectNameBkg.push_back ("ggWW");
   vectColourBkg.push_back(853);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(2.256);
   
   ///==== background (end)  ====
   
   
   
   
   
   ///==== signal (begin) ====
   cutNameBeforeUpdated = Form ("%s%s",folder.Data(),cutNameBeforeBIN2.Data());
   
   //---- second file :: 0 jet bin
   name = Form("%sggH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameSig.push_back ("ggH m_{H}=125");
   vectColourSig.push_back(633);
   vectScaleSig.push_back(SCALEMU*1.0000);
   vectNormalizationSig.push_back(0.719);
   
   name = Form("%sqqH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameSig.push_back ("qqH m_{H}=125");
   vectColourSig.push_back(634);
   vectScaleSig.push_back(SCALEMU*1.0000);
   vectNormalizationSig.push_back(2.565);
   
//    name = Form("%sZH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
//    vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
//    vectNameSig.push_back ("VH m_{H}=125");
//    vectColourSig.push_back(635);
//    vectScaleSig.push_back(SCALEMU*1.0000);
//    vectNormalizationSig.push_back(0.018);
//    
//    name = Form("%sWH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
//    vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
//    vectNameSig.push_back ("VH m_{H}=125");
//    vectColourSig.push_back(635);
//    vectScaleSig.push_back(SCALEMU*1.0000);
//    vectNormalizationSig.push_back(0.018);
   
   ///==== signal (end)  ====
   
   name = Form("%sData%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   hs->setDataHist (FilterBins(binsToSelect, (TH1F*) f2->Get(name)));
   
   ///==== background (begin)  ====
   
   //---- second file :: 0 jet bin
   
   name = Form("%sVV%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameBkg.push_back ("WZ/ZZ");
   vectColourBkg.push_back(858);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.281);
   
   name = Form("%sWjetsE%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameBkg.push_back ("W+jets");
   vectColourBkg.push_back(921);
   vectSystBkg.push_back(0.36);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.667);
   
   name = Form("%sWjetsM%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameBkg.push_back ("W+jets");
   vectColourBkg.push_back(921);
   vectSystBkg.push_back(0.36);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.667);
   
   name = Form("%sWgamma%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameBkg.push_back ("V+#gamma");
   vectColourBkg.push_back(616+1);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(1.000);
   
   name = Form("%sWg3l%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameBkg.push_back ("V+#gamma*");
   vectColourBkg.push_back(616+2);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(1.000);
   
   
   name = Form("%sTop%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameBkg.push_back ("top");
   vectColourBkg.push_back(400);
   vectSystBkg.push_back(0.07);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(5.654);
   
   name = Form("%sZtt%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameBkg.push_back ("DY+jets");
   vectColourBkg.push_back(418);
   vectSystBkg.push_back(0.11);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.377);
   name = Form("%sqqWW%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameBkg.push_back ("WW");
   vectColourBkg.push_back(851);
   vectSystBkg.push_back(0.50);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(2.256);
   name = Form("%sggWW%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f2->Get(name)) );
   vectNameBkg.push_back ("ggWW");
   vectColourBkg.push_back(853);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(2.256);
   
   ///==== background (end)  ====
   
   
   
   
   
   
   
   
   
   
   
   
   
   ///==== signal (begin) ====
   cutNameBeforeUpdated = Form ("%s%s",folder.Data(),cutNameBeforeBIN3.Data());
   
   //---- second file :: 0 jet bin
   name = Form("%sggH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameSig.push_back ("ggH m_{H}=125");
   vectColourSig.push_back(633);
   vectScaleSig.push_back(SCALEMU*1.0000);
   vectNormalizationSig.push_back(0.719);
   
   name = Form("%sqqH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameSig.push_back ("qqH m_{H}=125");
   vectColourSig.push_back(634);
   vectScaleSig.push_back(SCALEMU*1.0000);
   vectNormalizationSig.push_back(2.565);
   
//    name = Form("%sZH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
//    vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
//    vectNameSig.push_back ("VH m_{H}=125");
//    vectColourSig.push_back(635);
//    vectScaleSig.push_back(SCALEMU*1.0000);
//    vectNormalizationSig.push_back(0.018);
//    
//    name = Form("%sWH%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
//    vectTHSig.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
//    vectNameSig.push_back ("VH m_{H}=125");
//    vectColourSig.push_back(635);
//    vectScaleSig.push_back(SCALEMU*1.0000);
//    vectNormalizationSig.push_back(0.018);
   
   ///==== signal (end)  ====
   
   name = Form("%sData%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   hs->setDataHist (FilterBins(binsToSelect, (TH1F*) f3->Get(name)));
   
   ///==== background (begin)  ====
   
   //---- second file :: 0 jet bin
   
   name = Form("%sVV%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameBkg.push_back ("WZ/ZZ");
   vectColourBkg.push_back(858);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.281);
   
   name = Form("%sWjetsE%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameBkg.push_back ("W+jets");
   vectColourBkg.push_back(921);
   vectSystBkg.push_back(0.36);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.667);
   
   name = Form("%sWjetsM%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameBkg.push_back ("W+jets");
   vectColourBkg.push_back(921);
   vectSystBkg.push_back(0.36);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.667);
   
   name = Form("%sWgamma%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameBkg.push_back ("V+#gamma");
   vectColourBkg.push_back(616+1);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(1.000);
   
   name = Form("%sWg3l%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameBkg.push_back ("V+#gamma*");
   vectColourBkg.push_back(616+2);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(1.000);
   
   
   name = Form("%sTop%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameBkg.push_back ("top");
   vectColourBkg.push_back(400);
   vectSystBkg.push_back(0.07);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(5.654);
   
   name = Form("%sZtt%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameBkg.push_back ("DY+jets");
   vectColourBkg.push_back(418);
   vectSystBkg.push_back(0.11);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(0.377);
   name = Form("%sqqWW%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameBkg.push_back ("WW");
   vectColourBkg.push_back(851);
   vectSystBkg.push_back(0.50);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(2.256);
   name = Form("%sggWW%s",cutNameBeforeUpdated.Data(),cutNameAfter.Data());
   vectTHBkg.push_back ( FilterBins(binsToSelect, (TH1F*) f3->Get(name)) );
   vectNameBkg.push_back ("ggWW");
   vectColourBkg.push_back(853);
   vectSystBkg.push_back(0.00);
   vectScaleBkg.push_back(1.0000);
   vectNormalizationBkg.push_back(2.256);
   
   ///==== background (end)  ====
  }
  
  hs->setBlindBinSx(0);
  hs->setBlindBinDx(0);
  
  hs->setCutSx(-999,">");
  hs->setCutDx(-999,"<");
  
  
  name = Form("%s%smodel_errs",folder.Data(),folderError0.Data()); 
  std::cout << " name = " << name.Data() << std::endl;  
  
  hs->set_ErrorBand( *(FilterBins(binsToSelect, (TGraphAsymmErrors*) f0->Get(name))) , 1.0);  

  if (do7and8TeV) {
   name = Form("%s%smodel_errs",folder.Data(),folderError1.Data()); 
   hs->set_ErrorBand( *(FilterBins(binsToSelect, (TGraphAsymmErrors*) f1->Get(name))), 1.0 );  
   name = Form("%s%smodel_errs",folder.Data(),folderError2.Data()); 
   hs->set_ErrorBand( *(FilterBins(binsToSelect, (TGraphAsymmErrors*) f2->Get(name))), 1.0 );  
   name = Form("%s%smodel_errs",folder.Data(),folderError3.Data()); 
   hs->set_ErrorBand( *(FilterBins(binsToSelect, (TGraphAsymmErrors*) f3->Get(name))), 1.0 );  
  }
  
 }
 
 hs->set_vectTHBkg     (vectTHBkg);      
 hs->set_vectNameBkg   (vectNameBkg);    
 hs->set_vectColourBkg (vectColourBkg);  
 hs->set_vectSystBkg   (vectSystBkg);    
 hs->set_vectScaleBkg  (vectScaleBkg);   
 
 hs->set_vectTHSig     (vectTHSig);      
 hs->set_vectNameSig   (vectNameSig);    
 hs->set_vectColourSig (vectColourSig);  
 hs->set_vectScaleSig  (vectScaleSig);   
 
 
 hs->addWeight(NY-minNY); //---- add S/(S+B) weight ---> used only for propaganda plot and data-background
 
 hs->prepare();
 
 hs->mergeSamples(); //---- merge trees with the same name! ---- to be called after "prepare" !
 
 hs->set_addSignalOnBackground(1); // 1 = signal over background , 0 = signal on its own
 
 hs->set_mergeSignal(1);    // 1 = merge signal in 1 bin, 0 = let different signals as it is
 
 hs->setMass(125); 
 
 
 //  hs->set_doLabelNumber ( true ) ;
 hs->set_doLabelNumber ( false ) ;
 
 ///==== draw ====
 
 
 TCanvas* c1bis = new TCanvas("bkgSub","bkgSub",500,500);
 
 //  hs->Draw(c1,1,true,false);
 
 double vedges[] = {60,70,80,90,100,110,120,140,160,180,200,220,240,260,280};
 std::vector<double> vEdges (vedges, vedges + sizeof(vedges) / sizeof(double) );
 hs->set_vectEdges(vEdges);
 
 //----  canvas, rebin, div, shadow, background subtracted canvas ----
//  hs->Draw(c1,1,true,true,c1bis);
 hs->Draw(c1,1,true,true,c1bis, 416.8369, 1); //--- last 1 = scaleEvenData
 
 
 
//  wwof0j8TeV  hwwof0j7TeV   hwwof1j8TeV  hwwof1j7TeV  
//  ZH           qqH          WH           ggH          qqWW         WjetsE       Wgamma       Top          WH_SM        WjetsM       ggWW         ZH_SM        VV           Wg3l         qqH_SM       Ztt          Zjets        ggH_SM       ZH           qqH          WH           ggH          qqWW         WjetsE       Wgamma       Top          WH_SM        WjetsM       ggWW         ZH_SM        VV           Wg3l         qqH_SM       Ztt          Zjets        ggH_SM       ZH           qqH          WH           ggH          qqWW         WjetsE       Wgamma       Top          WH_SM        WjetsM       ggWW         ZH_SM        VV           Wg3l         qqH_SM       Ztt          Zjets        ggH_SM       ZH           qqH          WH           ggH          qqWW         WjetsE       Wgamma       Top          WH_SM        WjetsM       ggWW         ZH_SM        VV           Wg3l         qqH_SM       Ztt          Zjets        ggH_SM     
//  1.6890       2.9300       5.7010       228.1320     3981.6900    284.7300     115.5780     499.3620     0.0000       332.2130     211.2640     0.0000       132.6090     130.6960     0.0000       45.9960      0.0000       0.0000       0.0000       0.4419       0.0000       50.3398      828.8020     88.2650      19.7200      91.2240      0.0000       62.7310      40.7510      0.0000       17.7360      36.4310      0.0000       0.0000       4.9230       0.0000       1.9230       11.1300      6.8780       88.5170      1203.1000    130.4020     29.0790      1436.8000    0.0000       153.0200     69.0100      0.0000       116.5920     19.9750      0.0000       76.7570      0.0000       0.0000       0.0000       2.0871       0.0000       17.0681      246.2790     34.3560      3.5800       226.6520     0.0000       26.1930      13.9840      0.0000       18.1110      4.8070       0.0000       0.0000       8.3280       0.0000    
// 
//all signals =   1.6890  +     2.9300   +    5.7010     +  228.1320 +  0.0 +   0.4419  +     0.0000  +     50.3398 + 1.9230     +  11.1300  +    6.8780  +     88.5170 +  0.0000      + 2.0871  +     0.0000  +     17.0681
//            = 416.8369     
 
 
 c1->Print("mth.pdf");
 c1->Print("mth.png");
 c1->Print("mth.eps");
 
 c1bis->Print("bkgSub_mth.pdf");
 c1bis->Print("bkgSub_mth.png");
 c1bis->Print("bkgSub_mth.eps");
 
 //  c1->SetLogy();
 //  hs->Draw(c1,1,true);
 //  c1->Print("15Oct_AN_HCP_VBFShape_mll_postFitLatino_2/mll_logy.pdf");
 //  c1->Print("15Oct_AN_HCP_VBFShape_mll_postFitLatino_2/mll_logy.png");
 
 
 //  return ([60,70,80,90,100,110,120,140,160,180,200,220,240,260,280],[12,30,45,60,75,100,125,150,175,200])
 //                       mth                                                   mll
 
 //  TCanvas* c2 = new TCanvas("mll_prop","mll_prop",1000,1000);
 //  double maxX = 10*NX+60;
 //  //  double maxY = 15*NY+12;
 //  double maxY = 15*NY+15;
 //  std::cout << " maxX = " << maxX << std::endl;
 //  std::cout << " maxY = " << maxY << std::endl;
 //  std::cout << " NY   = " << NY   << std::endl;
 //  hs->DrawPropagandaPlot(c2,1,NY,"m_{T}^{ll-E_{T}^{miss}} [GeV]",60,maxX,"m_{ll} [GeV]",12,maxY);
 //  
 //  
 //  //---------------------------------------
 //  // // // //  x HCP 2012 // // // // 
 //  //   TCanvas* c2 = new TCanvas("mll_prop","mll_prop",1000,1000);
 //  //   double maxX = (280-80)/10*NX+80;
 //  //   double maxY = (200-0)/8*NY+0;
 //  //   std::cout << " maxX = " << maxX << std::endl;
 //  //   std::cout << " maxY = " << maxY << std::endl;
 //  //   std::cout << " NY   = " << NY   << std::endl;
 //  //   hs->DrawPropagandaPlot(c2,1,NY,"m_{T}^{ll-E_{T}^{miss}} [GeV]",80,maxX,"m_{ll} [GeV]",0,maxY);
 //  
 //  c2->Print("mll_prop.pdf");
 //  c2->Print("mll_prop.png");        
 //  c2->Print("mll_prop.eps");
 
}