ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/Development/Plotting/Modules/StudyModule.C
(Generate patch)

Comparing UserCode/cbrown/Development/Plotting/Modules/StudyModule.C (file contents):
Revision 1.8 by buchmann, Mon Apr 16 17:22:33 2012 UTC vs.
Revision 1.10 by buchmann, Wed Aug 15 13:52:13 2012 UTC

# Line 38 | Line 38 | void do_experimental_pred_obs_calculatio
38    TH1F *SBOSOFN;
39    
40    flag_this_change(__FUNCTION__,__LINE__,false);//PlottingSetup::RestrictToMassPeak
41 <  if(PlottingSetup::RestrictToMassPeak) {
41 >  if(PlottingSetup::RestrictToMassPeak&&PlottingSetup::UseSidebandsForcJZB) {
42      SBOSSFP = allsamples.Draw("SBOSSFP",datajzb,1,cut,14000, xlabel, "events",cutOSSF&&cutnJets&&basiccut&&sidebandcut,mcordata,luminosity);
43      SBOSOFP = allsamples.Draw("SBOSOFP",datajzb,1,cut,14000, xlabel, "events",cutOSOF&&cutnJets&&basiccut&&sidebandcut,mcordata,luminosity);
44      SBOSSFN = allsamples.Draw("SBOSSFN","-"+datajzb,1,cut,14000, xlabel, "events",cutOSSF&&cutnJets&&basiccut&&sidebandcut,mcordata,luminosity);
# Line 47 | Line 47 | void do_experimental_pred_obs_calculatio
47      
48      
49    flag_this_change(__FUNCTION__,__LINE__,false);//PlottingSetup::RestrictToMassPeak
50 <  if(PlottingSetup::RestrictToMassPeak) {
50 >  if(PlottingSetup::RestrictToMassPeak&&PlottingSetup::UseSidebandsForcJZB) {
51      dout << "   Observed : " << ZOSSFP->Integral() << endl;
52      dout << "   Predicted: " << ZOSSFN->Integral() << " + (1/3)*(" << ZOSOFP->Integral() << "-" << ZOSOFN->Integral()<<") + (1/3)*(" << SBOSSFP->Integral() << "-" << SBOSSFN->Integral()<<") + (1/3)*(" << SBOSOFP->Integral() << "-" << SBOSOFN->Integral()<<")" << endl;
53      dout << "        P(ZJets ) \t " << ZOSSFN->Integral() << endl;
# Line 76 | Line 76 | void do_experimental_pred_obs_calculatio
76   void look_at_sidebands(string mcjzb, string datajzb, bool includejetcut, float cutat=0) {
77    
78    flag_this_change(__FUNCTION__,__LINE__,false);//PlottingSetup::RestrictToMassPeak -- this funciton is meaningless for the offpeak case
79 <  if(!PlottingSetup::RestrictToMassPeak) return;
79 >  if(!PlottingSetup::RestrictToMassPeak||!PlottingSetup::UseSidebandsForcJZB) return;
80    dout << "Looking at sidebands ... " << endl;
81    int mcordata=data;//data     // you can perform this study for mc or data ...
82    
# Line 246 | Line 246 | int i=0;
246    
247   void find_sideband_definition() {
248    flag_this_change(__FUNCTION__,__LINE__,false);//PlottingSetup::RestrictToMassPeak
249 <  if(!PlottingSetup::RestrictToMassPeak) return; // this function is meaningless for the offpeak analysis
249 >  if(!PlottingSetup::RestrictToMassPeak||!PlottingSetup::UseSidebandsForcJZB) return; // this function is meaningless for the offpeak analysis
250  
251    TH1F *mllttbar  = allsamples.Draw("mllttbar","mll",145,55,200, "mll [GeV]", "events",cutOSSF&&cutnJets&&!cutmass,mc,luminosity,allsamples.FindSample("TTJets"));
252    TH1F *mllttbarz  = allsamples.Draw("mllttbarz","mll",1,50,200, "mll [GeV]", "events",cutOSSF&&cutnJets&&cutmass,mc,luminosity,allsamples.FindSample("TTJets"));
# Line 320 | Line 320 | void run_check() {
320    TCanvas *c1 = new TCanvas("runnum","runnum",800,1000);
321    c1->Divide(2,4);
322    flag_this_change(__FUNCTION__,__LINE__,false);//PlottingSetup::RestrictToMassPeak
323 <  if(PlottingSetup::RestrictToMassPeak) c1->Divide(2,2); // there are only four regions ...
323 >  if(PlottingSetup::RestrictToMassPeak&&PlottingSetup::UseSidebandsForcJZB) c1->Divide(2,2); // there are only four regions ...
324  
325    c1->cd(1);
326    TH1F *ossfp = runcheckhisto((const char*)(cutmass&&cutOSSF&&cutnJets&&basiccut&&"((jzb[1]+0.06*pt-2.84727)>100)"));
# Line 342 | Line 342 | void run_check() {
342    TText *t4 = write_title("OSOF,N");t4->Draw();
343    
344    flag_this_change(__FUNCTION__,__LINE__,false);//PlottingSetup::RestrictToMassPeak
345 <  if(PlottingSetup::RestrictToMassPeak) {
345 >  if(PlottingSetup::RestrictToMassPeak&&PlottingSetup::UseSidebandsForcJZB) {
346      c1->cd(5);
347      TH1F *sbofp = runcheckhisto((const char*)(sidebandcut&&cutOSOF&&cutnJets&&basiccut&&"((jzb[1]+0.06*pt-2.84727)>100)"));
348      sbofp->Draw();
# Line 378 | Line 378 | TH1F *give_boson_pred(TCut bcut,string m
378    TH1F *jzbpss;
379    
380    flag_this_change(__FUNCTION__,__LINE__,false);//PlottingSetup::RestrictToMassPeak
381 <  if(PlottingSetup::RestrictToMassPeak) {
381 >  if(PlottingSetup::RestrictToMassPeak&&PlottingSetup::UseSidebandsForcJZB) {
382      jzbnos  = allsamples.Draw("jzbnos","-"+mcjzb,nbins,0,350, "JZB [GeV]", "events",bcut&&cutOSOF&&cutnJets&&sidebandcut,mc,luminosity,allsamples.FindSample("VVJetsTo4L_TuneD6T_7TeV"));
383      jzbpos  = allsamples.Draw("jzbpos",mcjzb,nbins,0,350, "JZB [GeV]", "events",    bcut&&cutOSOF&&cutnJets&&sidebandcut,mc,luminosity,allsamples.FindSample("VVJetsTo4L_TuneD6T_7TeV"));
384      jzbnss  = allsamples.Draw("jzbnss","-"+mcjzb,nbins,0,350, "JZB [GeV]", "events",bcut&&cutOSSF&&cutnJets&&sidebandcut,mc,luminosity,allsamples.FindSample("VVJetsTo4L_TuneD6T_7TeV"));
# Line 388 | Line 388 | TH1F *give_boson_pred(TCut bcut,string m
388      
389    TH1F *pred = (TH1F*)jzbn->Clone("pred");
390    flag_this_change(__FUNCTION__,__LINE__,false);//PlottingSetup::RestrictToMassPeak
391 <  if(PlottingSetup::RestrictToMassPeak) {
391 >  if(PlottingSetup::RestrictToMassPeak&&PlottingSetup::UseSidebandsForcJZB) {
392      pred->Add(jzbno,-1.0/3);
393      pred->Add(jzbpo,1.0/3);
394      pred->Add(jzbnos,-1.0/3);
# Line 612 | Line 612 | TH1F *give_lm0_pred(TCut bcut,string mcj
612    TH1F *jzbnss;
613    TH1F *jzbpss;
614    
615 <  if(PlottingSetup::RestrictToMassPeak) {
615 >  if(PlottingSetup::RestrictToMassPeak&&PlottingSetup::UseSidebandsForcJZB) {
616      jzbnos  = signalsamples.Draw("jzbnos","-"+mcjzb,nbins,0,350, "JZB [GeV]", "events",cutOSOF&&cutnJets&&sidebandcut,mc,luminosity,signalsamples.FindSample("LM0"));
617      jzbpos  = signalsamples.Draw("jzbpos",mcjzb,nbins,0,350, "JZB [GeV]", "events",    cutOSOF&&cutnJets&&sidebandcut,mc,luminosity,signalsamples.FindSample("LM0"));
618      jzbnss  = signalsamples.Draw("jzbnss","-"+mcjzb,nbins,0,350, "JZB [GeV]", "events",cutOSSF&&cutnJets&&sidebandcut,mc,luminosity,signalsamples.FindSample("LM0"));
# Line 621 | Line 621 | TH1F *give_lm0_pred(TCut bcut,string mcj
621    
622    TH1F *pred = (TH1F*)jzbn->Clone("pred");
623    flag_this_change(__FUNCTION__,__LINE__,false);//PlottingSetup::RestrictToMassPeak
624 <  if(PlottingSetup::RestrictToMassPeak) {
624 >  if(PlottingSetup::RestrictToMassPeak&&PlottingSetup::UseSidebandsForcJZB) {
625      pred->Add(jzbno,-1.0/3);
626      pred->Add(jzbpo,1.0/3);
627      pred->Add(jzbnos,-1.0/3);
# Line 876 | Line 876 | void jzb_negative_generator_study() {
876  
877   }
878  
879 string ReplaceCharacter(string originalstring,string replacethis,string replacewiththis)
880 {
881        int pos = originalstring.find(replacethis);
882        if(pos == -1) return originalstring;
883        originalstring.replace(pos, replacewiththis.length(), replacewiththis);
884        return originalstring;
885 }
886 string removefunnystring(string name) {
887  name=ReplaceCharacter(name,"[","_");
888  name=ReplaceCharacter(name,"]","_");
889  name=ReplaceCharacter(name,"{","_");
890  name=ReplaceCharacter(name,"}","_");
891  name=ReplaceCharacter(name,".","_");
892  name=ReplaceCharacter(name,",","_");
893  name=ReplaceCharacter(name,";","_");
894  name=ReplaceCharacter(name,":","_");
895  name=ReplaceCharacter(name,"'","_");
896  name=ReplaceCharacter(name,"$","_");
897  name=ReplaceCharacter(name,"@","_");
898  return name;
899 }
900
879   void compare_lm4_sms_variable(TTree *eventsLM4, TTree *eventsSMS, string variable, int nbins, float xmin, float xmax, TCut cut, string saveas, bool dology=false) {
880    TCanvas *can = new TCanvas("can","can");
881    can->SetLogy(dology);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines