CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTAnalyzer.cc
Go to the documentation of this file.
1 // File: HLTAnalyzer.cc
2 // Description: Example of Analysis driver originally from Jeremy Mans,
3 // Date: 13-October-2006
4 
5 #include <boost/foreach.hpp>
6 
8 #include "HLTMessages.h"
9 
10 typedef std::pair<const char *, const edm::InputTag *> MissingCollectionInfo;
11 
12 template <class T>
13 static inline
14 bool getCollection(const edm::Event & event, std::vector<MissingCollectionInfo> & missing, edm::Handle<T> & handle, const edm::InputTag & name, const char * description)
15 {
16  event.getByLabel(name, handle);
17  bool valid = handle.isValid();
18  if (not valid) {
19  missing.push_back( std::make_pair(description, & name) );
20  handle.clear();
21  }
22  return valid;
23 }
24 
25 // Boiler-plate constructor definition of an analyzer module:
27 
28  // If your module takes parameters, here is where you would define
29  // their names and types, and access them to initialize internal
30  // variables. Example as follows:
31  std::cout << " Beginning HLTAnalyzer Analysis " << std::endl;
32 
33  recjets_ = conf.getParameter<edm::InputTag> ("recjets");
34  reccorjets_ = conf.getParameter<edm::InputTag> ("reccorjets");
35  genjets_ = conf.getParameter<edm::InputTag> ("genjets");
36  recmet_ = conf.getParameter<edm::InputTag> ("recmet");
37  genmet_ = conf.getParameter<edm::InputTag> ("genmet");
38  ht_ = conf.getParameter<edm::InputTag> ("ht");
39  recoPFJets_ = conf.getParameter<edm::InputTag> ("recoPFJets");
40  calotowers_ = conf.getParameter<edm::InputTag> ("calotowers");
41  muon_ = conf.getParameter<edm::InputTag> ("muon");
42  mctruth_ = conf.getParameter<edm::InputTag> ("mctruth");
43  genEventInfo_ = conf.getParameter<edm::InputTag> ("genEventInfo");
44  simhits_ = conf.getParameter<edm::InputTag> ("simhits");
45  xSection_ = conf.getUntrackedParameter<double> ("xSection",1.);
46  filterEff_ = conf.getUntrackedParameter<double> ("filterEff",1.);
47  firstLumi_ = conf.getUntrackedParameter<int> ("firstLumi",0);
48  lastLumi_ = conf.getUntrackedParameter<int> ("lastLumi",-1);
49  towerThreshold_ = conf.getParameter<double>("caloTowerThreshold");
50 
51  // keep this separate from l1extramc_ as needed by FastSim:
52  // This is purposefully done this way to allow FastSim to run with OpenHLT:
53  // The {FastSim+OpenHLT} package runs on the head of HLTrigger/HLTanalyzers
54  // where there is purposefully this duplication because FastSim does the
55  // simulation of muons seperately, and needs the same collection.
56  l1extramu_ = conf.getParameter<std::string> ("l1extramu");
57  m_l1extramu = edm::InputTag(l1extramu_, "");
58 
59  // read the L1Extra collection name, and add the instance names as needed
60  l1extramc_ = conf.getParameter<std::string> ("l1extramc");
61  m_l1extraemi = edm::InputTag(l1extramc_, "Isolated");
62  m_l1extraemn = edm::InputTag(l1extramc_, "NonIsolated");
68 
69  hltresults_ = conf.getParameter<edm::InputTag> ("hltresults");
70  gtReadoutRecord_ = conf.getParameter<edm::InputTag> ("l1GtReadoutRecord");
71 
72  gctBitCounts_ = edm::InputTag( conf.getParameter<edm::InputTag>("l1GctHFBitCounts").label(), "" );
73  gctRingSums_ = edm::InputTag( conf.getParameter<edm::InputTag>("l1GctHFRingSums").label(), "" );
74 
75  MuCandTag2_ = conf.getParameter<edm::InputTag> ("MuCandTag2");
76  MuIsolTag2_ = conf.getParameter<edm::InputTag> ("MuIsolTag2");
77  MuNoVtxCandTag2_ = conf.getParameter<edm::InputTag> ("MuNoVtxCandTag2");
78  MuCandTag3_ = conf.getParameter<edm::InputTag> ("MuCandTag3");
79  MuIsolTag3_ = conf.getParameter<edm::InputTag> ("MuIsolTag3");
80  oniaPixelTag_ = conf.getParameter<edm::InputTag> ("OniaPixelTag");
81  oniaTrackTag_ = conf.getParameter<edm::InputTag> ("OniaTrackTag");
82  HLTTau_ = conf.getParameter<edm::InputTag> ("HLTTau");
83  PFTau_ = conf.getParameter<edm::InputTag> ("HLTPFTau");
84  _MinPtChargedHadrons = conf.getParameter<double>("minPtChargedHadronsForTaus");
85  _MinPtGammas = conf.getParameter<double>("minPtGammassForTaus");
86 
87  PFJets_ = conf.getParameter<edm::InputTag> ("HLTPFJet");
88 
89  // offline reco tau collection and discriminators
90  RecoPFTau_ = conf.getParameter<edm::InputTag> ("RecoPFTau");
91  RecoPFTauDiscrByTanCOnePercent_ = conf.getParameter<edm::InputTag> ("RecoPFTauDiscrByTanCOnePercent");
92  RecoPFTauDiscrByTanCHalfPercent_ = conf.getParameter<edm::InputTag> ("RecoPFTauDiscrByTanCHalfPercent");
93  RecoPFTauDiscrByTanCQuarterPercent_ = conf.getParameter<edm::InputTag> ("RecoPFTauDiscrByTanCQuarterPercent");
94  RecoPFTauDiscrByTanCTenthPercent_ = conf.getParameter<edm::InputTag> ("RecoPFTauDiscrByTanCTenthPercent");
95  RecoPFTauDiscrByIso_ = conf.getParameter<edm::InputTag> ("RecoPFTauDiscrByIso");
96  RecoPFTauAgainstMuon_ = conf.getParameter<edm::InputTag> ("RecoPFTauAgainstMuon");
97  RecoPFTauAgainstElec_ = conf.getParameter<edm::InputTag> ("RecoPFTauAgainstElec");
98 
99 
100  // btag OpenHLT input collections
101  m_rawBJets = conf.getParameter<edm::InputTag>("CommonBJetsL2");
102  m_correctedBJets = conf.getParameter<edm::InputTag>("CorrectedBJetsL2");
103  m_lifetimeBJetsL25 = conf.getParameter<edm::InputTag>("LifetimeBJetsL25");
104  m_lifetimeBJetsL3 = conf.getParameter<edm::InputTag>("LifetimeBJetsL3");
105  m_softmuonBJetsL25 = conf.getParameter<edm::InputTag>("SoftmuonBJetsL25");
106  m_softmuonBJetsL3 = conf.getParameter<edm::InputTag>("SoftmuonBJetsL3");
107  m_performanceBJetsL25 = conf.getParameter<edm::InputTag>("PerformanceBJetsL25");
108  m_performanceBJetsL3 = conf.getParameter<edm::InputTag>("PerformanceBJetsL3");
109 
110  // egamma OpenHLT input collections
111  Electron_ = conf.getParameter<edm::InputTag> ("Electron");
112  Photon_ = conf.getParameter<edm::InputTag> ("Photon");
113  CandIso_ = conf.getParameter<edm::InputTag> ("CandIso");
114  CandNonIso_ = conf.getParameter<edm::InputTag> ("CandNonIso");
115  EcalIso_ = conf.getParameter<edm::InputTag> ("EcalIso");
116  EcalNonIso_ = conf.getParameter<edm::InputTag> ("EcalNonIso");
117  HcalIsoPho_ = conf.getParameter<edm::InputTag> ("HcalIsoPho");
118  HcalNonIsoPho_ = conf.getParameter<edm::InputTag> ("HcalNonIsoPho");
119  IsoPhoTrackIsol_ = conf.getParameter<edm::InputTag> ("IsoPhoTrackIsol");
120  NonIsoPhoTrackIsol_ = conf.getParameter<edm::InputTag> ("NonIsoPhoTrackIsol");
121  IsoElectron_ = conf.getParameter<edm::InputTag> ("IsoElectrons");
122  NonIsoElectron_ = conf.getParameter<edm::InputTag> ("NonIsoElectrons");
123  IsoEleHcal_ = conf.getParameter<edm::InputTag> ("HcalIsoEle");
124  NonIsoEleHcal_ = conf.getParameter<edm::InputTag> ("HcalNonIsoEle");
125  IsoEleTrackIsol_ = conf.getParameter<edm::InputTag> ("IsoEleTrackIsol");
126  NonIsoEleTrackIsol_ = conf.getParameter<edm::InputTag> ("NonIsoEleTrackIsol");
127  L1IsoPixelSeeds_ = conf.getParameter<edm::InputTag> ("PixelSeedL1Iso");
128  L1NonIsoPixelSeeds_ = conf.getParameter<edm::InputTag> ("PixelSeedL1NonIso");
129  IsoR9_ = conf.getParameter<edm::InputTag> ("SpikeCleaningIsol");
130  NonIsoR9_ = conf.getParameter<edm::InputTag> ("SpikeCleaningNonIsol");
131  IsoHoverEH_ = conf.getParameter<edm::InputTag> ("HcalForHoverEIsol");
132  NonIsoHoverEH_ = conf.getParameter<edm::InputTag> ("HcalForHoverENonIsol");
133  IsoR9ID_ = conf.getParameter<edm::InputTag> ("R9IDIsol");
134  NonIsoR9ID_ = conf.getParameter<edm::InputTag> ("R9IDNonIsol");
135  HFECALClusters_ = conf.getParameter<edm::InputTag> ("HFECALClusters");
136  HFElectrons_ = conf.getParameter<edm::InputTag> ("HFElectrons");
137 
138  // AlCa OpenHLT input collections
139  EERecHitTag_ = conf.getParameter<edm::InputTag> ("EERecHits");
140  EBRecHitTag_ = conf.getParameter<edm::InputTag> ("EBRecHits");
141  pi0EBRecHitTag_ = conf.getParameter<edm::InputTag> ("pi0EBRecHits");
142  pi0EERecHitTag_ = conf.getParameter<edm::InputTag> ("pi0EERecHits");
143  HBHERecHitTag_ = conf.getParameter<edm::InputTag> ("HBHERecHits");
144  HORecHitTag_ = conf.getParameter<edm::InputTag> ("HORecHits");
145  HFRecHitTag_ = conf.getParameter<edm::InputTag> ("HFRecHits");
146  IsoPixelTrackTagL3_ = conf.getParameter<edm::InputTag> ("IsoPixelTracksL3");
147  IsoPixelTrackTagL2_ = conf.getParameter<edm::InputTag> ("IsoPixelTracksL2");
148  IsoPixelTrackVerticesTag_ = conf.getParameter<edm::InputTag> ("IsoPixelTrackVertices");
149 
150  // Track OpenHLT input collections
151  PixelTracksTagL3_ = conf.getParameter<edm::InputTag> ("PixelTracksL3");
152 
153  // Reco Vertex collection
154  VertexTag_ = conf.getParameter<edm::InputTag> ("PrimaryVertices");
155 
156  m_file = 0; // set to null
157  errCnt = 0;
158 
159  // read run parameters with a default value
160  edm::ParameterSet runParameters = conf.getParameter<edm::ParameterSet>("RunParameters");
161  _HistName = runParameters.getUntrackedParameter<std::string>("HistogramFile", "test.root");
162  _EtaMin = runParameters.getUntrackedParameter<double>("EtaMin", -5.2);
163  _EtaMax = runParameters.getUntrackedParameter<double>("EtaMax", 5.2);
164 
165 
166 
167  // open the tree file
168  m_file = new TFile(_HistName.c_str(), "RECREATE");
169  if (m_file)
170  m_file->cd();
171 
172  // Initialize the tree
173  HltTree = new TTree("HltTree", "");
174 
175  treeWeight=xSection_*filterEff_;
176  std::cout << "\n Setting HltTree weight to " << treeWeight << " = " << xSection_ << "*" << filterEff_ << " (cross section * gen filter efficiency)\n" << std::endl;
177 
178  // Setup the different analysis
179  jet_analysis_.setup(conf, HltTree);
181  elm_analysis_.setup(conf, HltTree);
184  mct_analysis_.setup(conf, HltTree);
185  hlt_analysis_.setup(conf, HltTree);
186  vrt_analysis_.setup(conf, HltTree);
188 }
189 
191 
192  hlt_analysis_.beginRun(run, c);
193 }
194 
195 // Boiler-plate "analyze" method declaration for an analyzer module.
197 
198  // To get information from the event setup, you must request the "Record"
199  // which contains it and then extract the object you need
200  //edm::ESHandle<CaloGeometry> geometry;
201  //iSetup.get<IdealGeometryRecord>().get(geometry);
202 
203  int iLumi = iEvent.luminosityBlock();
204  if (iLumi<firstLumi_) return;
205  if (lastLumi_ != -1 && iLumi>lastLumi_) return;
206 
207  // These declarations create handles to the types of records that you want
208  // to retrieve from event "iEvent".
225  edm::Handle<l1extra::L1JetParticleCollection> l1extjetc, l1extjetf, l1exttaujet;
230 
231  edm::Handle<reco::RecoChargedCandidateCollection> mucands2, mucands3, munovtxcands2;
232  edm::Handle<reco::RecoChargedCandidateCollection> oniaPixelCands, oniaTrackCands;
233  edm::Handle<edm::ValueMap<bool> > isoMap2, isoMap3;
237 
238  // offline reco tau collection and discriminators
240  edm::Handle<reco::PFTauDiscriminator> theRecoPFTauDiscrByTanCOnePercent;
241  edm::Handle<reco::PFTauDiscriminator> theRecoPFTauDiscrByTanCHalfPercent;
242  edm::Handle<reco::PFTauDiscriminator> theRecoPFTauDiscrByTanCQuarterPercent;
243  edm::Handle<reco::PFTauDiscriminator> theRecoPFTauDiscrByTanCTenthPercent;
244  edm::Handle<reco::PFTauDiscriminator> theRecoPFTauDiscrByIsolation;
245  edm::Handle<reco::PFTauDiscriminator> theRecoPFTauDiscrAgainstMuon;
246  edm::Handle<reco::PFTauDiscriminator> theRecoPFTauDiscrAgainstElec;
247 
248 
249  // btag OpenHLT input collections
251  edm::Handle<edm::View<reco::Jet> > hCorrectedBJets;
252  edm::Handle<reco::JetTagCollection> hLifetimeBJetsL25;
253  edm::Handle<reco::JetTagCollection> hLifetimeBJetsL3;
254  edm::Handle<reco::JetTagCollection> hSoftmuonBJetsL25;
255  edm::Handle<reco::JetTagCollection> hSoftmuonBJetsL3;
256  edm::Handle<reco::JetTagCollection> hPerformanceBJetsL25;
257  edm::Handle<reco::JetTagCollection> hPerformanceBJetsL3;
258 
259  // egamma OpenHLT input collections
266  edm::Handle<reco::RecoEcalCandidateIsolationMap> photonHoverEHIsoHandle;
267  edm::Handle<reco::RecoEcalCandidateIsolationMap> photonHoverEHNonIsoHandle;
268  edm::Handle<reco::ElectronCollection> electronIsoHandle;
269  edm::Handle<reco::ElectronCollection> electronNonIsoHandle;
271  edm::Handle<reco::RecoEcalCandidateIsolationMap> electronR9NonIsoHandle;
273  edm::Handle<reco::RecoEcalCandidateIsolationMap> electronR9IDNonIsoHandle;
274  edm::Handle<reco::ElectronIsolationMap> NonIsoTrackEleIsolMap;
277  edm::Handle<reco::ElectronSeedCollection> L1NonIsoPixelSeedsMap;
288  edm::Handle<reco::SuperClusterCollection> electronHFClusterHandle;
289  edm::Handle<reco::RecoEcalCandidateCollection> electronHFElectronHandle;
290 
291  // AlCa OpenHLT input collections
294  edm::Handle<EBRecHitCollection> pi0ebrechits;
295  edm::Handle<EERecHitCollection> pi0eerechits;
301  edm::Handle<reco::VertexCollection> isopixeltrackPixVertices;
303 
304  // Reco vertex collection
306 
307  // new stuff for the egamma EleId
308  edm::InputTag ecalRechitEBTag (std::string("hltEcalRegionalEgammaRecHit:EcalRecHitsEB"));
309  edm::InputTag ecalRechitEETag (std::string("hltEcalRegionalEgammaRecHit:EcalRecHitsEE"));
310  EcalClusterLazyTools lazyTools( iEvent, iSetup, ecalRechitEBTag, ecalRechitEETag);
311 
312  edm::ESHandle<MagneticField> theMagField;
313  iSetup.get<IdealMagneticFieldRecord>().get(theMagField);
314 
315  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
316  edm::InputTag BSProducer_(std::string("hltOnlineBeamSpot"));
317 
318  // get EventSetup stuff needed for the AlCa pi0 path
320  iSetup.get< EcalMappingRcd >().get(ecalmapping);
321 
322  edm::ESHandle<CaloGeometry> geoHandle;
323  iSetup.get<CaloGeometryRecord>().get(geoHandle);
324 
325  edm::ESHandle<CaloTopology> pTopology;
326  iSetup.get<CaloTopologyRecord>().get(pTopology);
327 
328  edm::ESHandle<L1CaloGeometry> l1CaloGeom ;
329  iSetup.get<L1CaloGeometryRecord>().get(l1CaloGeom) ;
330 
331 
332  // extract the collections from the event, check their validity and log which are missing
333  std::vector<MissingCollectionInfo> missing;
334 
335  //get the BeamSpot
336  getCollection( iEvent, missing, recoBeamSpotHandle, BSProducer_ , "Beam Spot handle");
337  // gets its position
338  reco::BeamSpot::Point BSPosition(0,0,0);
339  BSPosition = recoBeamSpotHandle->position();
340 
341  getCollection( iEvent, missing, recjets, recjets_, kRecjets );
342  getCollection( iEvent, missing, reccorjets, reccorjets_, kRecCorjets );
343  getCollection( iEvent, missing, genjets, genjets_, kGenjets );
344  getCollection( iEvent, missing, recmet, recmet_, kRecmet );
345  getCollection( iEvent, missing, genmet, genmet_, kGenmet );
346  getCollection( iEvent, missing, caloTowers, calotowers_, kCaloTowers );
347  getCollection( iEvent, missing, ht, ht_, kHt );
348  getCollection( iEvent, missing, recoPFJets, recoPFJets_, kRecoPFJets );
349  getCollection( iEvent, missing, muon, muon_, kMuon );
350  getCollection( iEvent, missing, taus, HLTTau_, kTaus );
351  getCollection( iEvent, missing, pftaus, PFTau_, kPFTaus );
352  getCollection( iEvent, missing, pfjets, PFJets_, kPFJets );
353  getCollection( iEvent, missing, recoPftaus, RecoPFTau_, kRecoPFTaus );
354  getCollection( iEvent, missing, theRecoPFTauDiscrByTanCOnePercent, RecoPFTauDiscrByTanCOnePercent_, ktheRecoPFTauDiscrByTanCOnePercent);
355  getCollection( iEvent, missing, theRecoPFTauDiscrByTanCHalfPercent, RecoPFTauDiscrByTanCHalfPercent_, ktheRecoPFTauDiscrByTanCHalfPercent);
356  getCollection( iEvent, missing, theRecoPFTauDiscrByTanCQuarterPercent, RecoPFTauDiscrByTanCQuarterPercent_, ktheRecoPFTauDiscrByTanCQuarterPercent);
357  getCollection( iEvent, missing, theRecoPFTauDiscrByTanCTenthPercent, RecoPFTauDiscrByTanCTenthPercent_, ktheRecoPFTauDiscrByTanCTenthPercent);
358  getCollection( iEvent, missing, theRecoPFTauDiscrByIsolation, RecoPFTauDiscrByIso_, ktheRecoPFTauDiscrByIsolation);
359  getCollection( iEvent, missing, theRecoPFTauDiscrAgainstMuon, RecoPFTauAgainstMuon_, ktheRecoPFTauDiscrAgainstMuon);
360  getCollection( iEvent, missing, theRecoPFTauDiscrAgainstElec, RecoPFTauAgainstElec_, ktheRecoPFTauDiscrAgainstElec);
361  getCollection( iEvent, missing, hltresults, hltresults_, kHltresults );
362  getCollection( iEvent, missing, l1extemi, m_l1extraemi, kL1extemi );
363  getCollection( iEvent, missing, l1extemn, m_l1extraemn, kL1extemn );
364  getCollection( iEvent, missing, l1extmu, m_l1extramu, kL1extmu );
365  getCollection( iEvent, missing, l1extjetc, m_l1extrajetc, kL1extjetc );
366  getCollection( iEvent, missing, l1extjetf, m_l1extrajetf, kL1extjetf );
367  getCollection( iEvent, missing, l1exttaujet, m_l1extrataujet, kL1exttaujet );
368  getCollection( iEvent, missing, l1extmet, m_l1extramet, kL1extmet );
369  getCollection( iEvent, missing, l1extmht, m_l1extramht, kL1extmht );
370  getCollection( iEvent, missing, l1GtRR, gtReadoutRecord_, kL1GtRR );
371  getCollection( iEvent, missing, gctBitCounts, gctBitCounts_, kL1GctBitCounts );
372  getCollection( iEvent, missing, gctRingSums, gctRingSums_, kL1GctRingSums );
373  getCollection( iEvent, missing, mctruth, mctruth_, kMctruth );
374  getCollection( iEvent, missing, simTracks, simhits_, kSimhit );
375  getCollection( iEvent, missing, simVertices, simhits_, kSimhit );
376  getCollection( iEvent, missing, genEventInfo, genEventInfo_, kGenEventInfo );
377  getCollection( iEvent, missing, mucands2, MuCandTag2_, kMucands2 );
378  getCollection( iEvent, missing, munovtxcands2, MuNoVtxCandTag2_, kMunovtxcands2 );
379  getCollection( iEvent, missing, mucands3, MuCandTag3_, kMucands3 );
380  getCollection( iEvent, missing, oniaPixelCands, oniaPixelTag_, kOniaPixelCands );
381  getCollection( iEvent, missing, oniaTrackCands, oniaTrackTag_, kOniaTrackCands );
382  getCollection( iEvent, missing, isoMap2, MuIsolTag2_, kIsoMap2 );
383  getCollection( iEvent, missing, isoMap3, MuIsolTag3_, kIsoMap3 );
384  getCollection( iEvent, missing, hRawBJets, m_rawBJets, kBTagJets );
385  getCollection( iEvent, missing, hCorrectedBJets, m_correctedBJets, kBTagCorrectedJets );
386  getCollection( iEvent, missing, hLifetimeBJetsL25, m_lifetimeBJetsL25, kBTagLifetimeBJetsL25 );
387  getCollection( iEvent, missing, hLifetimeBJetsL3, m_lifetimeBJetsL3, kBTagLifetimeBJetsL3 );
388  getCollection( iEvent, missing, hSoftmuonBJetsL25, m_softmuonBJetsL25, kBTagSoftmuonBJetsL25 );
389  getCollection( iEvent, missing, hSoftmuonBJetsL3, m_softmuonBJetsL3, kBTagSoftmuonBJetsL3 );
390  getCollection( iEvent, missing, hPerformanceBJetsL25, m_performanceBJetsL25, kBTagPerformanceBJetsL25 );
391  getCollection( iEvent, missing, hPerformanceBJetsL3, m_performanceBJetsL3, kBTagPerformanceBJetsL3 );
392  getCollection( iEvent, missing, electrons, Electron_, kElectrons );
393  getCollection( iEvent, missing, photons, Photon_, kPhotons );
394 
395  //Read offline eleID results
396  std::vector<edm::Handle<edm::ValueMap<float> > > eIDValueMap(4);
397  // edm::InputTag electronLabelRobustTight_(std::string("eidRobustTight"));
398  // edm::InputTag electronLabelTight_(std::string("eidTight"));
399  // edm::InputTag electronLabelRobustLoose_(std::string("eidRobustLoose"));
400  // edm::InputTag electronLabelLoose_(std::string("eidLoose"));
401  // getCollection( iEvent, missing, eIDValueMap[0], electronLabelRobustLoose_ , "EleId Robust-Loose");
402  // getCollection( iEvent, missing, eIDValueMap[1], electronLabelRobustTight_ , "EleId Robust-Tight");
403  // getCollection( iEvent, missing, eIDValueMap[2], electronLabelLoose_ , "EleId Loose");
404  // getCollection( iEvent, missing, eIDValueMap[3], electronLabelTight_ , "EleId Tight");
405 
406  //read all the OpenHLT egamma collections
407  getCollection( iEvent, missing, recoIsolecalcands, CandIso_, kCandIso);
408  getCollection( iEvent, missing, recoNonIsolecalcands, CandNonIso_, kCandNonIso);
409  getCollection( iEvent, missing, EcalIsolMap, EcalIso_, kEcalIso);
410  getCollection( iEvent, missing, EcalNonIsolMap, EcalNonIso_, kEcalNonIso);
411  getCollection( iEvent, missing, HcalIsolMap, HcalIsoPho_, kHcalIsoPho);
412  getCollection( iEvent, missing, HcalNonIsolMap, HcalNonIsoPho_, kHcalNonIsoPho);
413  getCollection( iEvent, missing, photonR9IsoHandle, IsoR9_, kIsoR9);
414  getCollection( iEvent, missing, photonR9NonIsoHandle, NonIsoR9_, kNonIsoR9);
415  getCollection( iEvent, missing, photonR9IDIsoHandle, IsoR9ID_, kIsoR9ID);
416  getCollection( iEvent, missing, photonR9IDNonIsoHandle, NonIsoR9ID_, kNonIsoR9ID);
417  getCollection( iEvent, missing, photonHoverEHIsoHandle, IsoHoverEH_, kIsoHoverEH);
418  getCollection( iEvent, missing, photonHoverEHNonIsoHandle,NonIsoHoverEH_, kNonIsoHoverEH);
419  getCollection( iEvent, missing, electronIsoHandle, IsoElectron_, kIsoElectron);
420  getCollection( iEvent, missing, HcalEleIsolMap, IsoEleHcal_, kIsoEleHcal);
421  getCollection( iEvent, missing, TrackEleIsolMap, IsoEleTrackIsol_, kIsoEleTrackIsol);
422  getCollection( iEvent, missing, L1IsoPixelSeedsMap, L1IsoPixelSeeds_, kL1IsoPixelSeeds);
423  getCollection( iEvent, missing, L1NonIsoPixelSeedsMap, L1NonIsoPixelSeeds_, kL1NonIsoPixelSeeds);
424  getCollection( iEvent, missing, electronNonIsoHandle, NonIsoElectron_, kNonIsoElectron);
425  getCollection( iEvent, missing, HcalEleNonIsolMap, NonIsoEleHcal_, kIsoEleHcal);
426  getCollection( iEvent, missing, NonIsoTrackEleIsolMap, NonIsoEleTrackIsol_, kNonIsoEleTrackIsol);
427  getCollection( iEvent, missing, TrackNonIsolMap, NonIsoPhoTrackIsol_, kNonIsoPhoTrackIsol);
428  getCollection( iEvent, missing, TrackIsolMap, IsoPhoTrackIsol_, kIsoPhoTrackIsol);
429  getCollection( iEvent, missing, electronR9IsoHandle, IsoR9_, kIsoR9);
430  getCollection( iEvent, missing, electronR9NonIsoHandle, NonIsoR9_, kNonIsoR9);
431  getCollection( iEvent, missing, electronR9IDIsoHandle, IsoR9ID_, kIsoR9ID);
432  getCollection( iEvent, missing, electronR9IDNonIsoHandle, NonIsoR9ID_, kNonIsoR9ID);
433  getCollection( iEvent, missing, electronHFClusterHandle, HFECALClusters_, kHFECALClusters);
434  getCollection( iEvent, missing, electronHFElectronHandle, HFElectrons_, kHFElectrons);
435  getCollection( iEvent, missing, eerechits, EERecHitTag_, kEErechits );
436  getCollection( iEvent, missing, ebrechits, EBRecHitTag_, kEBrechits );
437  getCollection( iEvent, missing, pi0eerechits, pi0EERecHitTag_, kpi0EErechits );
438  getCollection( iEvent, missing, pi0ebrechits, pi0EBRecHitTag_, kpi0EBrechits );
439  getCollection( iEvent, missing, hbherechits, HBHERecHitTag_, kHBHErechits );
440  getCollection( iEvent, missing, horechits, HORecHitTag_, kHOrechits );
441  getCollection( iEvent, missing, hfrechits, HFRecHitTag_, kHFrechits );
442  getCollection( iEvent, missing, isopixeltracksL3, IsoPixelTrackTagL3_, kIsoPixelTracksL3 );
443  getCollection( iEvent, missing, isopixeltracksL2, IsoPixelTrackTagL2_, kIsoPixelTracksL2 );
444  getCollection( iEvent, missing, isopixeltrackPixVertices, IsoPixelTrackVerticesTag_, kIsoPixelTrackVertices );
445  getCollection( iEvent, missing, pixeltracksL3, PixelTracksTagL3_, kPixelTracksL3 );
446  getCollection( iEvent, missing, recoVertexs, VertexTag_, kRecoVertices );
447 
448 
449 
450  double ptHat=-1.;
451  if (genEventInfo.isValid()) {ptHat=genEventInfo->qScale();}
452 
453 
454  // print missing collections
455  if (not missing.empty() and (errCnt < errMax())) {
456  errCnt++;
457  std::stringstream out;
458  out << "OpenHLT analyser - missing collections:";
459  BOOST_FOREACH(const MissingCollectionInfo & entry, missing)
460  out << "\n\t" << entry.first << ": " << entry.second->encode();
461  edm::LogPrint("OpenHLT") << out.str() << std::endl;
462  if (errCnt == errMax())
463  edm::LogWarning("OpenHLT") << "Maximum error count reached -- No more messages will be printed.";
464  }
465 
466  // run the analysis, passing required event fragments
468  recjets,
469  reccorjets,
470  genjets,
471  recmet,
472  genmet,
473  ht,
474  taus,
475  pftaus,
476  pfjets,
477  recoPftaus,
478  theRecoPFTauDiscrByTanCOnePercent,
479  theRecoPFTauDiscrByTanCHalfPercent,
480  theRecoPFTauDiscrByTanCQuarterPercent,
481  theRecoPFTauDiscrByTanCTenthPercent,
482  theRecoPFTauDiscrByIsolation,
483  theRecoPFTauDiscrAgainstMuon,
484  theRecoPFTauDiscrAgainstElec,
485  recoPFJets,
486  caloTowers,
488  _MinPtGammas,
490  HltTree);
491 
493  muon,
494  l1extmu,
495  mucands2,
496  isoMap2,
497  mucands3,
498  isoMap3,
499  oniaPixelCands,
500  oniaTrackCands,
501  munovtxcands2,
502  BSPosition,
503  HltTree);
504 
506  electrons,
507  photons,
508  electronIsoHandle,
509  electronNonIsoHandle,
510  NonIsoTrackEleIsolMap,
511  TrackEleIsolMap,
512  L1IsoPixelSeedsMap,
513  L1NonIsoPixelSeedsMap,
514  recoIsolecalcands,
515  recoNonIsolecalcands,
516  EcalIsolMap,
517  EcalNonIsolMap,
518  HcalEleIsolMap,
519  HcalEleNonIsolMap,
520  HcalIsolMap,
521  HcalNonIsolMap,
522  TrackIsolMap,
523  TrackNonIsolMap,
524  lazyTools,
525  theMagField,
526  BSPosition,
527  eIDValueMap,
528  photonR9IsoHandle,
529  photonR9NonIsoHandle,
530  electronR9IsoHandle,
531  electronR9NonIsoHandle,
532  photonHoverEHIsoHandle,
533  photonHoverEHNonIsoHandle,
534  photonR9IDIsoHandle,
535  photonR9IDNonIsoHandle,
536  electronR9IDIsoHandle,
537  electronR9IDNonIsoHandle,
538  electronHFClusterHandle,
539  electronHFElectronHandle,
540  HltTree);
541 
543  mctruth,
544  ptHat,
545  simTracks,
546  simVertices,
547  HltTree);
548 
550  isopixeltracksL3,
551  isopixeltracksL2,
552  isopixeltrackPixVertices,
553  pixeltracksL3,
554  HltTree);
555 
557  hltresults,
558  l1extemi,
559  l1extemn,
560  l1extmu,
561  l1extjetc,
562  l1extjetf,
563  l1exttaujet,
564  l1extmet,
565  l1extmht,
566  l1GtRR,
567  gctBitCounts,
568  gctRingSums,
569  iSetup,
570  iEvent,
571  HltTree);
572 
574  hRawBJets,
575  hCorrectedBJets,
576  hLifetimeBJetsL25,
577  hLifetimeBJetsL3,
578  hSoftmuonBJetsL25,
579  hSoftmuonBJetsL3,
580  hPerformanceBJetsL25,
581  hPerformanceBJetsL3,
582  HltTree);
583 
585  recoVertexs,
586  HltTree);
587 
588  evt_header_.analyze(iEvent, HltTree);
589 
590 
591  // std::cout << " Ending Event Analysis" << std::endl;
592  // After analysis, fill the variables tree
593  if (m_file)
594  m_file->cd();
595  HltTree->Fill();
596 }
597 
598 // "endJob" is an inherited method that you may implement to do post-EOF processing and produce final output.
600 
601  if (m_file)
602  m_file->cd();
603 
605  TList *list = HltTree->GetUserInfo();
606  list->Add(new TObjString(thepset.dump().c_str()));
607 
608  HltTree->SetWeight(treeWeight);
609  HltTree->Write();
610  delete HltTree;
611  HltTree = 0;
612 
613  if (m_file) { // if there was a tree file...
614  m_file->Write(); // write out the branches
615  delete m_file; // close and delete the file
616  m_file = 0; // set to zero to clean up
617  }
618 
619 }
edm::InputTag L1IsoPixelSeeds_
Definition: HLTAnalyzer.h:137
HLTInfo hlt_analysis_
Definition: HLTAnalyzer.h:72
const char * kGenmet
Definition: HLTMessages.cc:8
TFile * m_file
Definition: HLTAnalyzer.h:172
T getParameter(std::string const &) const
dictionary missing
Definition: combine.py:4
RECOVertex vrt_analysis_
Definition: HLTAnalyzer.h:73
void analyze(edm::Event const &iEvent, TTree *tree)
Definition: EventHeader.cc:38
const char * kBTagSoftmuonBJetsL3
Definition: HLTMessages.cc:56
T getUntrackedParameter(std::string const &, T const &) const
edm::InputTag IsoEleHcal_
Definition: HLTAnalyzer.h:133
edm::InputTag L1NonIsoPixelSeeds_
Definition: HLTAnalyzer.h:138
const char * kEErechits
Definition: HLTMessages.cc:87
const char * kIsoMap3
Definition: HLTMessages.cc:44
const char * kElectrons
Definition: HLTMessages.cc:60
const char * kRecoVertices
Definition: HLTMessages.cc:98
const char * kNonIsoR9
Definition: HLTMessages.cc:80
edm::InputTag gctRingSums_
Definition: HLTAnalyzer.h:92
static bool getCollection(const edm::Event &event, std::vector< MissingCollectionInfo > &missing, edm::Handle< T > &handle, const edm::InputTag &name, const char *description)
Definition: HLTAnalyzer.cc:14
edm::InputTag m_softmuonBJetsL25
Definition: HLTAnalyzer.h:115
edm::InputTag MuIsolTag3_
Definition: HLTAnalyzer.h:94
edm::InputTag genmet_
Definition: HLTAnalyzer.h:78
const char * kL1exttaujet
Definition: HLTMessages.cc:30
void analyze(const edm::Handle< reco::IsolatedPixelTrackCandidateCollection > &IsoPixelTrackL3, const edm::Handle< reco::IsolatedPixelTrackCandidateCollection > &IsoPixelTrackL2, const edm::Handle< reco::VertexCollection > &pixelVertices, const edm::Handle< reco::RecoChargedCandidateCollection > &PixelTracksL3, TTree *tree)
Definition: HLTTrack.cc:74
double treeWeight
Definition: HLTAnalyzer.h:76
const char * kNonIsoPhoTrackIsol
Definition: HLTMessages.cc:69
edm::InputTag PFJets_
Definition: HLTAnalyzer.h:97
edm::InputTag HFElectrons_
Definition: HLTAnalyzer.h:146
const char * kHltresults
Definition: HLTMessages.cc:24
const char * kHcalIsoPho
Definition: HLTMessages.cc:66
edm::InputTag Photon_
Definition: HLTAnalyzer.h:122
const char * kPFTaus
Definition: HLTMessages.cc:14
void setup(const edm::ParameterSet &pSet, TTree *tree)
Definition: HLTInfo.cc:53
const char * kPhotons
Definition: HLTMessages.cc:61
const char * kOniaPixelCands
Definition: HLTMessages.cc:46
const char * kL1extmht
Definition: HLTMessages.cc:32
edm::InputTag RecoPFTauDiscrByTanCQuarterPercent_
Definition: HLTAnalyzer.h:103
edm::InputTag m_l1extramet
Definition: HLTAnalyzer.h:87
edm::InputTag HcalIsoPho_
Definition: HLTAnalyzer.h:127
edm::InputTag EcalIso_
Definition: HLTAnalyzer.h:125
TTree * HltTree
Definition: HLTAnalyzer.h:57
const char * kNonIsoElectron
Definition: HLTMessages.cc:73
EventHeader evt_header_
Default analyses.
Definition: HLTAnalyzer.h:64
const char * kSimhit
Definition: HLTMessages.cc:38
edm::InputTag IsoEleTrackIsol_
Definition: HLTAnalyzer.h:135
const char * kIsoPixelTrackVertices
Definition: HLTMessages.cc:96
virtual void endJob()
Definition: HLTAnalyzer.cc:599
edm::InputTag Electron_
Definition: HLTAnalyzer.h:121
const char * kNonIsoEleTrackIsol
Definition: HLTMessages.cc:77
const char * ktheRecoPFTauDiscrAgainstElec
Definition: HLTMessages.cc:23
edm::InputTag hltresults_
Definition: HLTAnalyzer.h:78
edm::InputTag HORecHitTag_
Definition: HLTAnalyzer.h:154
const char * kCandIso
Definition: HLTMessages.cc:62
edm::InputTag m_rawBJets
Definition: HLTAnalyzer.h:111
double _EtaMax
Definition: HLTAnalyzer.h:170
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:59
const char * kL1GctRingSums
Definition: HLTMessages.cc:36
edm::InputTag IsoPixelTrackTagL2_
Definition: HLTAnalyzer.h:157
std::string l1extramc_
Definition: HLTAnalyzer.h:80
const char * kPixelTracksL3
Definition: HLTMessages.cc:97
math::XYZPoint Point
point in the space
Definition: BeamSpot.h:30
edm::InputTag IsoR9ID_
Definition: HLTAnalyzer.h:142
const char * ktheRecoPFTauDiscrByTanCHalfPercent
Definition: HLTMessages.cc:18
const char * kL1extemi
Definition: HLTMessages.cc:25
const char * kIsoElectron
Definition: HLTMessages.cc:72
void setup(const edm::ParameterSet &pSet, TTree *tree)
Definition: RECOVertex.cc:45
const char * kL1extmet
Definition: HLTMessages.cc:31
edm::InputTag CandIso_
Definition: HLTAnalyzer.h:123
const char * kIsoPhoTrackIsol
Definition: HLTMessages.cc:68
const char * kNonIsoR9ID
Definition: HLTMessages.cc:82
const char * ktheRecoPFTauDiscrByTanCQuarterPercent
Definition: HLTMessages.cc:19
const char * kBTagCorrectedJets
Definition: HLTMessages.cc:50
edm::InputTag NonIsoHoverEH_
Definition: HLTAnalyzer.h:144
const char * kL1extemn
Definition: HLTMessages.cc:26
edm::InputTag IsoPhoTrackIsol_
Definition: HLTAnalyzer.h:129
const char * kIsoMap2
Definition: HLTMessages.cc:43
edm::InputTag m_performanceBJetsL3
Definition: HLTAnalyzer.h:118
HLTTrack track_analysis_
Definition: HLTAnalyzer.h:71
edm::InputTag m_softmuonBJetsL3
Definition: HLTAnalyzer.h:116
double _MinPtGammas
Definition: HLTAnalyzer.h:171
edm::InputTag RecoPFTauDiscrByTanCOnePercent_
Definition: HLTAnalyzer.h:101
edm::InputTag HFECALClusters_
Definition: HLTAnalyzer.h:145
const char * kHBHErechits
Definition: HLTMessages.cc:89
const char * kBTagPerformanceBJetsL25
Definition: HLTMessages.cc:57
const char * kBTagSoftmuonBJetsL25
Definition: HLTMessages.cc:55
const char * ktheRecoPFTauDiscrAgainstMuon
Definition: HLTMessages.cc:22
edm::InputTag m_performanceBJetsL25
Definition: HLTAnalyzer.h:117
double xSection_
Definition: HLTAnalyzer.h:76
edm::InputTag RecoPFTauDiscrByTanCHalfPercent_
Definition: HLTAnalyzer.h:102
double filterEff_
Definition: HLTAnalyzer.h:76
edm::InputTag HFRecHitTag_
Definition: HLTAnalyzer.h:155
edm::InputTag reccorjets_
Definition: HLTAnalyzer.h:78
const char * kRecjets
Definition: HLTMessages.cc:4
const char * kMucands2
Definition: HLTMessages.cc:40
void setup(const edm::ParameterSet &pSet, TTree *tree)
Definition: HLTEgamma.cc:38
void setup(const edm::ParameterSet &pSet, TTree *tree)
Definition: HLTMuon.cc:23
edm::InputTag CandNonIso_
Definition: HLTAnalyzer.h:124
edm::InputTag mctruth_
Definition: HLTAnalyzer.h:90
int iEvent
Definition: GenABIO.cc:243
HLTJets jet_analysis_
Definition: HLTAnalyzer.h:65
edm::InputTag m_l1extramht
Definition: HLTAnalyzer.h:88
std::string _HistName
Definition: HLTAnalyzer.h:169
const char * kIsoR9
Definition: HLTMessages.cc:81
const char * kBTagLifetimeBJetsL25
Definition: HLTMessages.cc:51
edm::InputTag IsoR9_
Definition: HLTAnalyzer.h:140
edm::InputTag NonIsoPhoTrackIsol_
Definition: HLTAnalyzer.h:130
void setup(TTree *tree)
Definition: EventHeader.cc:22
virtual void analyze(edm::Event const &e, edm::EventSetup const &iSetup)
Definition: HLTAnalyzer.cc:196
edm::InputTag m_l1extramu
Definition: HLTAnalyzer.h:81
double _MinPtChargedHadrons
Definition: HLTAnalyzer.h:171
void analyze(const edm::Handle< reco::CandidateView > &mctruth, const double &pthat, const edm::Handle< std::vector< SimTrack > > &simTracks, const edm::Handle< std::vector< SimVertex > > &simVertices, TTree *tree)
Definition: HLTMCtruth.cc:69
void analyze(const edm::Handle< reco::MuonCollection > &muon, const edm::Handle< l1extra::L1MuonParticleCollection > &mucands1, const edm::Handle< reco::RecoChargedCandidateCollection > &mucands2, const edm::Handle< edm::ValueMap< bool > > &isoMap2, const edm::Handle< reco::RecoChargedCandidateCollection > &mucands3, const edm::Handle< edm::ValueMap< bool > > &isoMap3, const edm::Handle< reco::RecoChargedCandidateCollection > &oniaPixelCands, const edm::Handle< reco::RecoChargedCandidateCollection > &oniaTrackCands, const edm::Handle< reco::RecoChargedCandidateCollection > &munovtxcands2, const reco::BeamSpot::Point &BSPosition, TTree *tree)
Definition: HLTMuon.cc:165
const char * kHFrechits
Definition: HLTMessages.cc:91
std::pair< std::string, MonitorElement * > entry
Definition: ME_MAP.h:8
const char * kCandNonIso
Definition: HLTMessages.cc:63
edm::InputTag gctBitCounts_
Definition: HLTAnalyzer.h:92
edm::InputTag NonIsoElectron_
Definition: HLTAnalyzer.h:132
const char * kRecoPFJets
Definition: HLTMessages.cc:11
edm::InputTag NonIsoR9ID_
Definition: HLTAnalyzer.h:141
edm::InputTag m_correctedBJets
Definition: HLTAnalyzer.h:112
tuple handle
Definition: patZpeak.py:22
const char * kIsoPixelTracksL3
Definition: HLTMessages.cc:94
const char * kMctruth
Definition: HLTMessages.cc:37
int firstLumi_
Definition: HLTAnalyzer.h:75
const char * kTaus
Definition: HLTMessages.cc:13
void analyze(edm::Handle< reco::VertexCollection > recoVertexs, TTree *tree)
Definition: RECOVertex.cc:66
edm::InputTag RecoPFTauAgainstMuon_
Definition: HLTAnalyzer.h:106
void analyze(const edm::Handle< edm::View< reco::Jet > > &rawBJets, const edm::Handle< edm::View< reco::Jet > > &correctedBJets, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL25, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL3, const edm::Handle< reco::JetTagCollection > &softmuonBJetsL25, const edm::Handle< reco::JetTagCollection > &softmuonBJetsL3, const edm::Handle< reco::JetTagCollection > &performanceBJetsL25, const edm::Handle< reco::JetTagCollection > &performanceBJetsL3, TTree *tree)
Definition: HLTBJet.cc:112
void beginRun(const edm::Run &, const edm::EventSetup &)
Definition: HLTInfo.cc:32
const char * kBTagLifetimeBJetsL3
Definition: HLTMessages.cc:52
const char * kBTagPerformanceBJetsL3
Definition: HLTMessages.cc:58
void setup(const edm::ParameterSet &pSet, TTree *tree)
Definition: HLTTrack.cc:24
const char * kIsoHoverEH
Definition: HLTMessages.cc:84
edm::InputTag MuNoVtxCandTag2_
Definition: HLTAnalyzer.h:94
const char * kHcalNonIsoPho
Definition: HLTMessages.cc:67
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
bool isValid() const
Definition: HandleBase.h:76
std::pair< const char *, const edm::InputTag * > MissingCollectionInfo
Definition: HLTAnalyzer.cc:10
std::string l1extramu_
Definition: HLTAnalyzer.h:80
edm::InputTag gtReadoutRecord_
Definition: HLTAnalyzer.h:91
const char * ktheRecoPFTauDiscrByTanCOnePercent
Definition: HLTMessages.cc:17
edm::InputTag pi0EERecHitTag_
Definition: HLTAnalyzer.h:151
tuple conf
Definition: dbtoconf.py:185
edm::InputTag IsoPixelTrackVerticesTag_
Definition: HLTAnalyzer.h:158
edm::InputTag EcalNonIso_
Definition: HLTAnalyzer.h:126
const char * kL1extmu
Definition: HLTMessages.cc:27
edm::InputTag IsoElectron_
Definition: HLTAnalyzer.h:131
const char * ktheRecoPFTauDiscrByTanCTenthPercent
Definition: HLTMessages.cc:20
edm::InputTag oniaPixelTag_
Definition: HLTAnalyzer.h:95
edm::InputTag MuCandTag3_
Definition: HLTAnalyzer.h:94
tuple out
Definition: dbtoconf.py:99
edm::InputTag pi0EBRecHitTag_
Definition: HLTAnalyzer.h:152
edm::InputTag MuIsolTag2_
Definition: HLTAnalyzer.h:94
tuple description
Definition: idDealer.py:66
edm::InputTag oniaTrackTag_
Definition: HLTAnalyzer.h:95
const char * kGenjets
Definition: HLTMessages.cc:6
edm::InputTag MuCandTag2_
Definition: HLTAnalyzer.h:94
HLTEgamma elm_analysis_
Definition: HLTAnalyzer.h:68
edm::InputTag RecoPFTauDiscrByTanCTenthPercent_
Definition: HLTAnalyzer.h:104
edm::InputTag RecoPFTauAgainstElec_
Definition: HLTAnalyzer.h:107
const int errMax()
Definition: HLTAnalyzer.h:167
const char * kHt
Definition: HLTMessages.cc:10
ParameterSet const & getProcessParameterSet()
Definition: Registry.cc:34
void analyze(const edm::Handle< reco::GsfElectronCollection > &electrons, const edm::Handle< reco::PhotonCollection > &photons, const edm::Handle< reco::ElectronCollection > &electronIsoHandle, const edm::Handle< reco::ElectronCollection > &electronNonIsoHandle, const edm::Handle< reco::ElectronIsolationMap > &NonIsoTrackEleIsolMap, const edm::Handle< reco::ElectronIsolationMap > &TrackEleIsolMap, const edm::Handle< reco::ElectronSeedCollection > &L1IsoPixelSeedsMap, const edm::Handle< reco::ElectronSeedCollection > &L1NonIsoPixelSeedsMap, const edm::Handle< reco::RecoEcalCandidateCollection > &recoIsolecalcands, const edm::Handle< reco::RecoEcalCandidateCollection > &recoNonIsolecalcands, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &EcalIsolMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &EcalNonIsolMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &HcalEleIsolMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &HcalEleNonIsolMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &HcalIsolMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &HcalNonIsolMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &TrackIsolMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &TrackNonIsolMap, EcalClusterLazyTools &lazyTools, const edm::ESHandle< MagneticField > &theMagField, reco::BeamSpot::Point &BSPosition, std::vector< edm::Handle< edm::ValueMap< float > > > &eIDValueMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &photonR9IsoMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &photonR9NonIsoMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &electronR9IsoMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &electronR9NonIsoMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &photonHoverEHIsoMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &photonHoverEHNonIsoMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &photonR9IDIsoMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &photonR9IDNonIsoMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &electronR9IDIsoMap, const edm::Handle< reco::RecoEcalCandidateIsolationMap > &electronR9IDNonIsoMap, const edm::Handle< reco::SuperClusterCollection > &electronHFClusterHandle, const edm::Handle< reco::RecoEcalCandidateCollection > &electronHFElectronHandle, TTree *tree)
Definition: HLTEgamma.cc:256
const char * kNonIsoHoverEH
Definition: HLTMessages.cc:85
HLTBJet bjet_analysis_
Definition: HLTAnalyzer.h:66
const char * kHFElectrons
Definition: HLTMessages.cc:71
const char * kHFECALClusters
Definition: HLTMessages.cc:70
const char * kIsoR9ID
Definition: HLTMessages.cc:83
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
Definition: HLTAnalyzer.cc:190
const char * kEcalIso
Definition: HLTMessages.cc:64
const T & get() const
Definition: EventSetup.h:55
edm::InputTag IsoPixelTrackTagL3_
Definition: HLTAnalyzer.h:156
const char * kL1extjetc
Definition: HLTMessages.cc:28
edm::InputTag HcalNonIsoPho_
Definition: HLTAnalyzer.h:128
edm::InputTag PFTau_
Definition: HLTAnalyzer.h:96
const char * kL1GtRR
Definition: HLTMessages.cc:33
const char * kL1GctBitCounts
Definition: HLTMessages.cc:35
edm::InputTag m_lifetimeBJetsL3
Definition: HLTAnalyzer.h:114
edm::InputTag calotowers_
Definition: HLTAnalyzer.h:78
const char * kEBrechits
Definition: HLTMessages.cc:88
edm::InputTag simhits_
Definition: HLTAnalyzer.h:90
edm::InputTag recoPFJets_
Definition: HLTAnalyzer.h:78
std::string const & label() const
Definition: InputTag.h:25
edm::InputTag m_l1extraemi
Definition: HLTAnalyzer.h:82
const char * kCaloTowers
Definition: HLTMessages.cc:9
void setup(const edm::ParameterSet &pSet, TTree *tree)
Definition: HLTJets.cc:25
edm::InputTag HLTTau_
Definition: HLTAnalyzer.h:96
const char * kL1extjetf
Definition: HLTMessages.cc:29
HLTMCtruth mct_analysis_
Definition: HLTAnalyzer.h:69
edm::InputTag genjets_
Definition: HLTAnalyzer.h:78
const char * kGenEventInfo
Definition: HLTMessages.cc:39
HLTMuon muon_analysis_
Definition: HLTAnalyzer.h:67
HLTAnalyzer(edm::ParameterSet const &conf)
Definition: HLTAnalyzer.cc:26
void analyze(const edm::Handle< reco::CaloJetCollection > &recojets, const edm::Handle< reco::CaloJetCollection > &corjets, const edm::Handle< reco::GenJetCollection > &gjets, const edm::Handle< reco::CaloMETCollection > &rmets, const edm::Handle< reco::GenMETCollection > &gmets, const edm::Handle< reco::METCollection > &ht, const edm::Handle< reco::HLTTauCollection > &myHLTTau, const edm::Handle< reco::PFTauCollection > &myHLTPFTau, const edm::Handle< reco::PFJetCollection > &myHLTPFJets, const edm::Handle< reco::PFTauCollection > &myRecoPFTau, const edm::Handle< reco::PFTauDiscriminator > &theRecoPFTauDiscrByTanCOnePercent, const edm::Handle< reco::PFTauDiscriminator > &theRecoPFTauDiscrByTanCHalfPercent, const edm::Handle< reco::PFTauDiscriminator > &theRecoPFTauDiscrByTanCQuarterPercent, const edm::Handle< reco::PFTauDiscriminator > &theRecoPFTauDiscrByTanCTenthPercent, const edm::Handle< reco::PFTauDiscriminator > &theRecoPFTauDiscrByIsolation, const edm::Handle< reco::PFTauDiscriminator > &theRecoPFTauDiscrAgainstElec, const edm::Handle< reco::PFTauDiscriminator > &theRecoPFTauDiscrAgainstMuon, const edm::Handle< reco::PFJetCollection > &recoPFJets, const edm::Handle< CaloTowerCollection > &caloTowers, double thresholdForSavingTowers, double minPtCH, double minPtGamma, TTree *tree)
Definition: HLTJets.cc:219
const char * kRecmet
Definition: HLTMessages.cc:7
const char * kMunovtxcands2
Definition: HLTMessages.cc:42
edm::InputTag HBHERecHitTag_
Definition: HLTAnalyzer.h:153
double _EtaMin
Definition: HLTAnalyzer.h:170
const char * kL1NonIsoPixelSeeds
Definition: HLTMessages.cc:79
edm::InputTag IsoHoverEH_
Definition: HLTAnalyzer.h:143
const char * kEcalNonIso
Definition: HLTMessages.cc:65
const char * kPFJets
Definition: HLTMessages.cc:15
const char * kMucands3
Definition: HLTMessages.cc:41
void setup(const edm::ParameterSet &pSet, TTree *tree)
Definition: HLTMCtruth.cc:23
edm::InputTag NonIsoR9_
Definition: HLTAnalyzer.h:139
tuple cout
Definition: gather_cfg.py:41
edm::InputTag NonIsoEleHcal_
Definition: HLTAnalyzer.h:134
edm::InputTag NonIsoEleTrackIsol_
Definition: HLTAnalyzer.h:136
const char * kIsoPixelTracksL2
Definition: HLTMessages.cc:95
edm::InputTag RecoPFTau_
Definition: HLTAnalyzer.h:100
edm::InputTag PixelTracksTagL3_
Definition: HLTAnalyzer.h:161
void setup(const edm::ParameterSet &config, TTree *tree)
Definition: HLTBJet.cc:84
edm::InputTag VertexTag_
Definition: HLTAnalyzer.h:164
edm::InputTag EERecHitTag_
Definition: HLTAnalyzer.h:149
edm::InputTag muon_
Definition: HLTAnalyzer.h:79
edm::InputTag genEventInfo_
Definition: HLTAnalyzer.h:78
edm::InputTag recjets_
Definition: HLTAnalyzer.h:78
const char * kHOrechits
Definition: HLTMessages.cc:90
edm::InputTag m_l1extrajetf
Definition: HLTAnalyzer.h:85
void analyze(const edm::Handle< edm::TriggerResults > &hltresults, const edm::Handle< l1extra::L1EmParticleCollection > &l1extemi, const edm::Handle< l1extra::L1EmParticleCollection > &l1extemn, const edm::Handle< l1extra::L1MuonParticleCollection > &l1extmu, const edm::Handle< l1extra::L1JetParticleCollection > &l1extjetc, const edm::Handle< l1extra::L1JetParticleCollection > &l1extjetf, const edm::Handle< l1extra::L1JetParticleCollection > &l1exttaujet, const edm::Handle< l1extra::L1EtMissParticleCollection > &l1extmet, const edm::Handle< l1extra::L1EtMissParticleCollection > &l1extmht, const edm::Handle< L1GlobalTriggerReadoutRecord > &l1GTRR, const edm::Handle< L1GctHFBitCountsCollection > &gctBitCounts, const edm::Handle< L1GctHFRingEtSumsCollection > &gctRingSums, edm::EventSetup const &eventSetup, edm::Event const &iEvent, TTree *tree)
Definition: HLTInfo.cc:177
std::string dump() const
edm::InputTag m_lifetimeBJetsL25
Definition: HLTAnalyzer.h:113
edm::InputTag recmet_
Definition: HLTAnalyzer.h:78
const char * kIsoEleHcal
Definition: HLTMessages.cc:74
const char * ktheRecoPFTauDiscrByIsolation
Definition: HLTMessages.cc:21
const char * kpi0EErechits
Definition: HLTMessages.cc:92
const char * kOniaTrackCands
Definition: HLTMessages.cc:47
edm::InputTag m_l1extrajetc
Definition: HLTAnalyzer.h:84
Definition: Run.h:31
const char * kIsoEleTrackIsol
Definition: HLTMessages.cc:76
const char * kRecCorjets
Definition: HLTMessages.cc:5
const char * kBTagJets
Definition: HLTMessages.cc:49
int towerThreshold_
Definition: HLTAnalyzer.h:75
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run
edm::InputTag m_l1extraemn
Definition: HLTAnalyzer.h:83
const char * kRecoPFTaus
Definition: HLTMessages.cc:16
edm::InputTag EBRecHitTag_
Definition: HLTAnalyzer.h:150
edm::InputTag ht_
Definition: HLTAnalyzer.h:78
const char * kpi0EBrechits
Definition: HLTMessages.cc:93
edm::InputTag m_l1extrataujet
Definition: HLTAnalyzer.h:86
edm::InputTag RecoPFTauDiscrByIso_
Definition: HLTAnalyzer.h:105
const char * kL1IsoPixelSeeds
Definition: HLTMessages.cc:78