/** Configure the template * * \return SUCCESSFUL_RETURN */ virtual returnValue configure( ) { return fillTemplate( ); }
void makeTemplate(int updown, bool debug){ TString jes; if (updown==1){ jes="_up"; } else if(updown==-1){ jes="_down"; } else if(updown==2){ jes="_alt"; } else if(updown==3){ jes="_alt2"; } TString debugname; if (debug) debugname="_unnormalized"; if(updown==0 || updown==1 || updown==-1){ fqqH = new TFile(destDir + "qqH_vbfMELA_old"+jes+debugname+".root","RECREATE"); fggH = new TFile(destDir + "ggH_vbfMELA_old"+jes+debugname+".root","RECREATE"); fqqZZ = new TFile(destDir + "qqZZ_vbfMELA_old"+jes+debugname+".root","RECREATE"); fggZZ = new TFile(destDir + "ggZZ_vbfMELA_old"+jes+debugname+".root","RECREATE"); fZX = new TFile(destDir + "Z+X_vbfMELA_old"+jes+debugname+".root","RECREATE"); fZH = new TFile(destDir + "ZH_vbfMELA_old"+jes+debugname+".root","RECREATE"); fWH = new TFile(destDir + "WH_vbfMELA_old"+jes+debugname+".root","RECREATE"); fttH = new TFile(destDir + "ttH_vbfMELA_old"+jes+debugname+".root","RECREATE"); } else{ fqqH = new TFile(destDir + "qqH_vbfMELA_old"+jes+debugname+".root","RECREATE"); fggH = new TFile(destDir + "ggH_vbfMELA_old"+jes+debugname+".root","RECREATE"); fqqZZ = new TFile(destDir + "qqZZ_vbfMELA_old"+jes+debugname+".root","RECREATE"); } TH2F* low,*high,*H_Djet; // ========================= // ggH low = fillTemplate(0,true,updown); high = fillTemplate(0,false,updown); H_Djet = mergeTemplates(low,high); if (!debug && updown<2) smoothtemplates(H_Djet,0); if (!debug && updown==2) smoothtemplates(H_Djet,-1); if (!debug && updown==3) smoothtemplates(H_Djet,-2); fggH->cd(); H_Djet->Write("H_Djet"); fggH->Close(); // ========================== // qqH low = fillTemplate(1,true,updown); high = fillTemplate(1,false,updown); H_Djet = mergeTemplates(low,high); if (!debug && updown<2) smoothtemplates(H_Djet,1); if (!debug && updown==2) smoothtemplates(H_Djet,-3); //Test for p-values <- Go to smoothtemplates to change if (!debug && updown==3) smoothtemplates(H_Djet,-4); fqqH->cd(); H_Djet->Write("H_Djet"); fqqH->Close(); // ========================== // qqZZ //if(updown<2){ low = fillTemplate(2,true,updown); high = fillTemplate(2,false,updown); H_Djet = mergeTemplates(low,high); /* } if(updown==2){ low = fillTemplate(-8,true,updown); high = fillTemplate(-8,false,updown); H_Djet = mergeTemplates(low,high); }*/ if (!debug) smoothtemplates(H_Djet,2); if (!debug && updown==2) altshapes(H_Djet,2,1); if (!debug && updown==3) altshapes(H_Djet,2,2); if (!debug && updown>1){ TH1F* tempProj; for(int i=1; i<=H_Djet->GetNbinsX(); i++){ tempProj = (TH1F*) H_Djet->ProjectionY("tempProj",i,i); float norm=tempProj->Integral(); if (norm>0) { // Avoid introducing NaNs in the histogram for(int j=1; j<=H_Djet->GetNbinsY(); j++){ H_Djet->SetBinContent(i,j, H_Djet->GetBinContent(i,j)/norm); } } } } //Test for p-values //if (!debug && updown<3) smoothtemplates(H_Djet,2); //if (!debug && updown==3) mirrortemplates(2); fqqZZ->cd(); H_Djet->Write("H_Djet"); fqqZZ->Close(); if (updown==0 || updown==1 || updown==-1){ // ========================== // ggZZ low = fillTemplate(3,true,updown); high = fillTemplate(3,false,updown); H_Djet = mergeTemplates(low,high); if (!debug) smoothtemplates(H_Djet,3); fggZZ->cd(); H_Djet->Write("H_Djet"); fggZZ->Close(); // ========================== // Z+X //if(updown==0){ low = fillTemplate(4,true,updown); high = fillTemplate(4,false,updown); H_Djet = mergeTemplates(low,high); if(!debug) smoothtemplates(H_Djet,4); fZX->cd(); H_Djet->Write("H_Djet"); fZX->Close(); //} // ========================== // ZH low = fillTemplate(5,true,updown); high = fillTemplate(5,false,updown); H_Djet = mergeTemplates(low,high); if (!debug) smoothtemplates(H_Djet,5); fZH->cd(); H_Djet->Write("H_Djet"); fZH->Close(); // ========================== // WH low = fillTemplate(6,true,updown); high = fillTemplate(6,false,updown); H_Djet = mergeTemplates(low,high); if (!debug) smoothtemplates(H_Djet,6); fWH->cd(); H_Djet->Write("H_Djet"); fWH->Close(); // ========================== // ttH low = fillTemplate(7,true,updown); high = fillTemplate(7,false,updown); H_Djet = mergeTemplates(low,high); if (!debug) smoothtemplates(H_Djet,7); fttH->cd(); H_Djet->Write("H_Djet"); fttH->Close(); } }