ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/AnalysisFramework/miscFR/trigEff.C
Revision: 1.1
Committed: Fri Jun 24 07:44:49 2011 UTC (13 years, 10 months ago) by fronga
Content type: text/plain
Branch: MAIN
CVS Tags: cbaf_4_98ifb_paper, cbaf_4p7ifb, Honeypot, cbaf_2p1ifb, HEAD
Error occurred while calculating annotation data.
Log Message:
First commit of various scripts used in the first 2011 analyses.

File Contents

# Content
1 //
2 // Attempt to get trigger efficiencies from HT trigger
3 //
4
5 void getEffErr( Long_t& npass, Long_t& ntot, Float_t& eff, Float_t& err ) {
6
7 eff = npass/Float_t(ntot);
8 err = sqrt(eff*(1.0-eff)/Float_t(ntot));
9
10 }
11
12 int trigEff2( float pt1=20., float pt2=20. ) {
13
14 // HT file
15 TFile* f = TFile::Open("dcap://t3se01.psi.ch:22125/pnfs/psi.ch/cms/trivcat/store/user/fronga/data/HT-Run2011A-PromptReco-v2_AOD.root");
16 TTree* tree = (TTree*)f->Get("events");
17
18 Long_t npass = 0, ntot = 0;
19 Float_t eff, err;
20 char ptcut[256]; sprintf(ptcut,"pt1>%f&&pt2>%f",pt1,pt2);
21 TCut kPt(ptcut);
22 TCut kbase(kPt&&"abs(mll-91.2)<20&&pfJetGoodNum>1&&eta1<2.4&&eta2<2.4");
23 TCut kOF("id1!=id2");
24 TCut kSF("id1==id2");
25 TCut kMu("id1==1");
26 TCut kEl("id1==0");
27
28 std::cout << "Cut: " << kbase.GetTitle() << std::endl;
29 ntot = tree->Draw("pt1",kbase&&kOF,"goff");
30 npass = tree->Draw("pt1",kbase&&kOF&&"passed_triggers","goff");
31 getEffErr(npass,ntot,eff,err);
32 std::cout << "EM: " << npass << "/" << ntot;
33 std::cout << " = " << eff*100. << "+-" << err*100. << std::endl;
34
35 ntot = tree->Draw("pt1",kbase&&kSF&&kMu,"goff");
36 npass = tree->Draw("pt1",kbase&&kSF&&kMu&&"passed_triggers","goff");
37 getEffErr(npass,ntot,eff,err);
38 std::cout << "MM: " << npass << "/" << ntot;
39 std::cout << " = " << eff*100. << "+-" << err*100. << std::endl;
40
41 ntot = tree->Draw("pt1",kbase&&kSF&&kEl,"goff");
42 npass = tree->Draw("pt1",kbase&&kSF&&kEl&&"passed_triggers","goff");
43 getEffErr(npass,ntot,eff,err);
44 std::cout << "EE: " << npass << "/" << ntot;
45 std::cout << " = " << eff*100. << "+-" << err*100. << std::endl;
46
47 return 0;
48
49 }
50 int trigEff( float pt1=20., float pt2=20. ) {
51
52 // HT files
53 TFile* fEM = TFile::Open("dcap://t3se01.psi.ch:22125/pnfs/psi.ch/cms/trivcat/store/user/fronga/data/HT-Run2011A-PromptReco-v2_AOD_emTrig.root");
54 TFile* fEE = TFile::Open("dcap://t3se01.psi.ch:22125/pnfs/psi.ch/cms/trivcat/store/user/fronga/data/HT-Run2011A-PromptReco-v2_AOD_elTrig.root");
55 TFile* fMM = TFile::Open("dcap://t3se01.psi.ch:22125/pnfs/psi.ch/cms/trivcat/store/user/fronga/data/HT-Run2011A-PromptReco-v2_AOD_muTrig.root");
56
57 Long_t npass = 0, ntot = 0;
58 Float_t eff, err;
59 char ptcut[256]; sprintf(ptcut,"pt1>%f&&pt2>%f",pt1,pt2);
60 TCut kPt(ptcut);
61 TCut kbase(kPt&&"abs(mll-91.2)<20&&pfJetGoodNum>1&&eta1<2.4&&eta2<2.4");
62 TCut kOF("id1!=id2");
63 TCut kSF("id1==id2");
64 TCut kMu("id1==1");
65 TCut kEl("id1==0");
66
67 TTree* tree = (TTree*)fEM->Get("events");
68 ntot = tree->Draw("pt1",kbase&&kOF,"goff");
69 npass = tree->Draw("pt1",kbase&&kOF&&"passed_triggers","goff");
70 getEffErr(npass,ntot,eff,err);
71 std::cout << "EM: " << npass << "/" << ntot;
72 std::cout << " = " << eff << "+-" << err << std::endl;
73
74 TTree* tree = (TTree*)fMM->Get("events");
75 ntot = tree->Draw("pt1",kbase&&kSF&&kMu,"goff");
76 npass = tree->Draw("pt1",kbase&&kSF&&kMu&&"passed_triggers","goff");
77 getEffErr(npass,ntot,eff,err);
78 std::cout << "MM: " << npass << "/" << ntot;
79 std::cout << " = " << eff << "+-" << err << std::endl;
80
81 TTree* tree = (TTree*)fEE->Get("events");
82 ntot = tree->Draw("pt1",kbase&&kSF&&kEl,"goff");
83 npass = tree->Draw("pt1",kbase&&kSF&&kEl&&"passed_triggers","goff");
84 getEffErr(npass,ntot,eff,err);
85 std::cout << "EE: " << npass << "/" << ntot;
86 std::cout << " = " << eff << "+-" << err << std::endl;
87
88 return 0;
89
90 }