ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HiggsAnalysis/EarlyDataStudy/scripts/listSkimmedEvent.C
Revision: 1.1
Committed: Thu May 6 15:14:20 2010 UTC (15 years ago) by mangano
Content type: text/plain
Branch: MAIN
CVS Tags: V00-02-00, V00-01-03, V00-01-02, V00-01-01, V00-01-00, V00-00-01, V00-00-00, HEAD
Error occurred while calculating annotation data.
Log Message:
first commit

File Contents

# Content
1 #include "DataFormats/FWLite/interface/Handle.h"
2 #include "DataFormats/FWLite/interface/ChainEvent.h"
3 #if !defined(__CINT__) && !defined(__MAKECINT__)
4 //Headers for the data items
5
6 #include <DataFormats/Common/interface/TriggerResults.h>
7 #include <FWCore/Common/interface/TriggerNames.h>
8
9
10 #endif
11
12 #include <iostream>
13 #include <string>
14 #include <fstream>
15
16 #include "TDirectory.h"
17 #include "TPad.h"
18
19 void listSkimmedEvent(const string name = "10.04.2010") {
20 const char* process = "Skim";
21 string fname ="merged_"+name+".root";
22
23 using namespace std;
24 vector<string> fileNames;
25 fileNames.push_back(fname);
26 fwlite::ChainEvent ev(fileNames);
27
28 fwlite::Handle<edm::TriggerResults> hTriggerResults;
29
30 int iEvent = 0;
31 vector<string> skimNames;
32 vector<ofstream*> fstreams;
33 for (ev.toBegin(); ! ev.atEnd(); ++ev) {
34 ++iEvent;
35 hTriggerResults.getByLabel(ev,"TriggerResults","",process);
36 edm::TriggerNames const& triggerNames = ev.triggerNames(*hTriggerResults);
37
38 /* ==================================
39 * Here I open all the skim log files
40 * ================================== */
41 if(iEvent==1){
42 cout << "list of Skim Path names" << endl;
43 cout << "=======================" << endl;
44
45 for (unsigned i = 0; i < triggerNames.size(); ++i) {
46 cout << triggerNames.triggerName(i) << endl;
47 skimNames.push_back(triggerNames.triggerName(i));
48 ofstream* tmp = new ofstream; fstreams.push_back(tmp);
49 string streamName = name+"_"+skimNames[i];
50 fstreams[i]->open(streamName.c_str());
51 }
52 }
53
54
55 /* ========================================================
56 * Here I dump the skim path information into the log files
57 * ======================================================== */
58 //std::cout << "\n\n\n === EVENT " << iEvent << "====" << std::endl;
59 for (unsigned i = 0; i < triggerNames.size(); ++i) {
60 if(hTriggerResults->accept(i)) {
61 //cout << "passing " << triggerNames.triggerName(i) << " at "
62
63 time_t t(ev.time().value() >> 32);
64 std::string time( asctime( gmtime(&t) ) );
65 size_t pos = time.find('\n');
66 if ( pos != std::string::npos ) time = time.substr(0,pos);
67
68 *(fstreams[i])
69 << ev.eventAuxiliary().run() << "\t"
70 << ev.eventAuxiliary().luminosityBlock() << "\t"
71 << ev.eventAuxiliary().event() << "\t\t"
72 << time << endl;
73 }
74 }
75 //if (iEvent >= 10) break;
76 }
77
78 /* ==================================
79 * Here I close all the skim log files
80 * ================================== */
81 for (unsigned i = 0; i < fstreams.size(); ++i) {
82 fstreams[i]->close();
83 delete fstreams[i];
84 }
85
86
87 }
88