ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/TriggerReader.h
(Generate patch)

Comparing UserCode/VHbbAnalysis/VHbbDataFormats/interface/TriggerReader.h (file contents):
Revision 1.3 by arizzi, Fri Sep 2 19:07:27 2011 UTC vs.
Revision 1.6 by arizzi, Mon Sep 12 22:16:56 2011 UTC

# Line 15 | Line 15 | class TriggerReader {
15   public:
16      TriggerReader(bool passAllEvents=false) : passAll(passAllEvents) {}
17      
18 <    void setEvent( fwlite::Event * e) {  ev=e;}
18 >    void setEvent( fwlite::Event * e) {  ev=e;
19 >     if(!passAll) {
20 >     hTriggerResults.getByLabel(*ev,"TriggerResults","","HLT");
21 >     run = ev->eventAuxiliary().id().run();
22 >     }
23 >    }
24    
25      bool accept(const std::string & triggername)
26      {
27       if(passAll) return true;
23     fwlite::Handle<edm::TriggerResults> hTriggerResults;
24     hTriggerResults.getByLabel(*ev,"TriggerResults","","HLT");
28  
29      
30       regex_t regex;
31       int reti;
32  
33  
31     reti = regcomp(&regex, triggername.c_str(), 0);
32 //     reti = regcomp(&regex, "HLT_Ele32_CaloIdVT_CaloIsoT_TrkIdT_TrkIsoT_v.*", 0);
33     if( reti ){ std::cerr << "Could not compile regex" << std::endl;}
34  
35  
36       std::map<std::string,size_t>::iterator nit;
37 <     if(ev->getRun().run()  != cacheRun[triggername] || nameMap.find(triggername) == nameMap.end())
37 >     if(run  != cacheRun[triggername] || nameMap.find(triggername) == nameMap.end())
38       {
39 <      std::cout << "new run" << ev->getRun().run() << std::endl;
40 <      cacheRun[triggername]=ev->getRun().run();
39 >
40 >     reti = regcomp(&regex, triggername.c_str(), 0);
41 > //     reti = regcomp(&regex, "HLT_Ele32_CaloIdVT_CaloIsoT_TrkIdT_TrkIsoT_v.*", 0);
42 >     if( reti ){ std::cerr << "Could not compile regex" << std::endl;}
43 >
44 >      std::cout << "new run" << run << std::endl;
45 > //      cacheRun[triggername]=ev->getRun().run();
46 >      cacheRun[triggername]=run;
47        edm::TriggerNames const&  triggerNames = ev->triggerNames(*hTriggerResults);
48        std::string oldiname="whatever";
49        nit=nameMap.find(triggername);
# Line 61 | Line 67 | class TriggerReader {
67           }
68        
69        }
70 +   regfree(&regex);
71     }
72      nit=nameMap.find(triggername);
73     if(nit==nameMap.end())
74      {
75       std::cout << "ERROR: trigger name not found" << std::endl;
76 <     edm::TriggerNames const&  triggerNames = ev->triggerNames(*hTriggerResults);
76 > //     edm::TriggerNames const&  triggerNames = ev->triggerNames(*hTriggerResults);
77      // for (unsigned i = 0; i < triggerNames.size(); ++i)  std::cout << triggerNames.triggerName(i) << " is bit  " << i << "looking for: "<< triggername <<  std::endl;
78       nameMap[triggername]=100000000; // meaning not found in this run
79        
# Line 77 | Line 84 | class TriggerReader {
84   }
85  
86   private:
87 +  fwlite::Handle<edm::TriggerResults> hTriggerResults;
88    std::map<std::string,size_t> nameMap;
89    std::map<std::string,size_t> cacheRun;
90   //  unsigned int cacheRun;
91    fwlite::Event * ev;
92    bool passAll;
93 +  unsigned int run;
94  
95   };
96  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines