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
Log Message:
first commit

File Contents

# User Rev Content
1 mangano 1.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