CMS 3D CMS Logo

HLTDoubletDZ.cc
Go to the documentation of this file.
2 #include "HLTDoubletDZ.h"
3 
5 
8 
9 //#include "DataFormats/Candidate/interface/Particle.h"
17 
19 
21 
23 #include <cmath>
24 
25 //
26 // constructors and destructor
27 //
28 template <typename T1, typename T2>
30  : HLTFilter(iConfig),
31  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
32  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
33  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
34  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
35  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
36  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
37  //electronToken_ (consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
38  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
39  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
40  minDR_(iConfig.template getParameter<double>("MinDR")),
41  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
42  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
43  min_N_(iConfig.template getParameter<int>("MinN")),
44  checkSC_(iConfig.template getParameter<bool>("checkSC")),
45  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
46 {}
47 
48 template <>
50  : HLTFilter(iConfig),
51  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
52  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
53  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
54  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
55  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
56  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
57  electronToken_(consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
58  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
59  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
60  minDR_(iConfig.template getParameter<double>("MinDR")),
61  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
62  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
63  min_N_(iConfig.template getParameter<int>("MinN")),
64  checkSC_(iConfig.template getParameter<bool>("checkSC")),
65  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
66 {}
67 
68 template <>
70  : HLTFilter(iConfig),
71  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
72  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
73  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
74  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
75  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
76  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
77  electronToken_(consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
78  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
79  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
80  minDR_(iConfig.template getParameter<double>("MinDR")),
81  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
82  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
83  min_N_(iConfig.template getParameter<int>("MinN")),
84  checkSC_(iConfig.template getParameter<bool>("checkSC")),
85  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
86 {}
87 
88 template <>
90  : HLTFilter(iConfig),
91  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
92  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
93  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
94  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
95  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
96  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
97  electronToken_(consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
98  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
99  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
100  minDR_(iConfig.template getParameter<double>("MinDR")),
101  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
102  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
103  min_N_(iConfig.template getParameter<int>("MinN")),
104  checkSC_(iConfig.template getParameter<bool>("checkSC")),
105  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
106 {}
107 
108 template <>
110  : HLTFilter(iConfig),
111  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
112  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
113  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
114  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
115  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
116  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
117  //electronToken_ (consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
118  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
119  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
120  minDR_(iConfig.template getParameter<double>("MinDR")),
121  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
122  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
123  min_N_(iConfig.template getParameter<int>("MinN")),
124  checkSC_(iConfig.template getParameter<bool>("checkSC")),
125  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
126 {}
127 
128 template <typename T1, typename T2>
130 
131 template <typename T1, typename T2>
134  makeHLTFilterDescription(desc);
135  std::vector<edm::InputTag> originTag1(1, edm::InputTag("hltOriginal1"));
136  std::vector<edm::InputTag> originTag2(1, edm::InputTag("hltOriginal2"));
137  desc.add<std::vector<edm::InputTag>>("originTag1", originTag1);
138  desc.add<std::vector<edm::InputTag>>("originTag2", originTag2);
139  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
140  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
141  desc.add<int>("triggerType1", 0);
142  desc.add<int>("triggerType2", 0);
143  desc.add<double>("MinDR", -1.0);
144  desc.add<double>("MaxDZ", 0.2);
145  desc.add<int>("MinPixHitsForDZ", 0);
146  desc.add<bool>("checkSC", false);
147  desc.add<int>("MinN", 1);
149 }
150 
151 template <>
153  edm::ConfigurationDescriptions& descriptions) {
155  makeHLTFilterDescription(desc);
156  std::vector<edm::InputTag> originTag1(1, edm::InputTag("hltOriginal1"));
157  std::vector<edm::InputTag> originTag2(1, edm::InputTag("hltOriginal2"));
158  desc.add<std::vector<edm::InputTag>>("originTag1", originTag1);
159  desc.add<std::vector<edm::InputTag>>("originTag2", originTag2);
160  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
161  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
162  desc.add<edm::InputTag>("electronTag", edm::InputTag("electronTag"));
163  desc.add<int>("triggerType1", 0);
164  desc.add<int>("triggerType2", 0);
165  desc.add<double>("MinDR", -1.0);
166  desc.add<double>("MaxDZ", 0.2);
167  desc.add<int>("MinPixHitsForDZ", 0);
168  desc.add<bool>("checkSC", false);
169  desc.add<int>("MinN", 1);
171 }
172 
173 template <>
175  edm::ConfigurationDescriptions& descriptions) {
177  makeHLTFilterDescription(desc);
178  std::vector<edm::InputTag> originTag1(1, edm::InputTag("hltOriginal1"));
179  std::vector<edm::InputTag> originTag2(1, edm::InputTag("hltOriginal2"));
180  desc.add<std::vector<edm::InputTag>>("originTag1", originTag1);
181  desc.add<std::vector<edm::InputTag>>("originTag2", originTag2);
182  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
183  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
184  desc.add<edm::InputTag>("electronTag", edm::InputTag("electronTag"));
185  desc.add<int>("triggerType1", 0);
186  desc.add<int>("triggerType2", 0);
187  desc.add<double>("MinDR", -1.0);
188  desc.add<double>("MaxDZ", 0.2);
189  desc.add<int>("MinPixHitsForDZ", 0);
190  desc.add<bool>("checkSC", false);
191  desc.add<int>("MinN", 1);
193 }
194 
195 template <>
197  edm::ConfigurationDescriptions& descriptions) {
199  makeHLTFilterDescription(desc);
200  std::vector<edm::InputTag> originTag1(1, edm::InputTag("hltOriginal1"));
201  std::vector<edm::InputTag> originTag2(1, edm::InputTag("hltOriginal2"));
202  desc.add<std::vector<edm::InputTag>>("originTag1", originTag1);
203  desc.add<std::vector<edm::InputTag>>("originTag2", originTag2);
204  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
205  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
206  desc.add<edm::InputTag>("electronTag", edm::InputTag("electronTag"));
207  desc.add<int>("triggerType1", 0);
208  desc.add<int>("triggerType2", 0);
209  desc.add<double>("MinDR", -1.0);
210  desc.add<double>("MaxDZ", 0.2);
211  desc.add<int>("MinPixHitsForDZ", 0);
212  desc.add<bool>("checkSC", false);
213  desc.add<int>("MinN", 1);
215 }
216 
217 template <>
219  edm::ConfigurationDescriptions& descriptions) {
221  makeHLTFilterDescription(desc);
222  std::vector<edm::InputTag> originTag1(1, edm::InputTag("hltOriginal1"));
223  std::vector<edm::InputTag> originTag2(1, edm::InputTag("hltOriginal2"));
224  desc.add<std::vector<edm::InputTag>>("originTag1", originTag1);
225  desc.add<std::vector<edm::InputTag>>("originTag2", originTag2);
226  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
227  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
228  desc.add<int>("triggerType1", 0);
229  desc.add<int>("triggerType2", 0);
230  desc.add<double>("MinDR", -1.0);
231  desc.add<double>("MaxDZ", 0.2);
232  desc.add<int>("MinPixHitsForDZ", 0);
233  desc.add<bool>("checkSC", false);
234  desc.add<int>("MinN", 1);
236 }
237 
238 template <typename T1, typename T2>
239 bool
240 //HLTDoubletDZ<T1, T2>::getCollections(edm::Event& iEvent, std::vector<T1Ref>& coll1, std::vector<T2Ref>& coll2) const {
242  std::vector<T1Ref>& coll1,
243  std::vector<T2Ref>& coll2,
244  trigger::TriggerFilterObjectWithRefs& filterproduct) const {
246  if (iEvent.getByToken(inputToken1_, handle1) and iEvent.getByToken(inputToken2_, handle2)) {
247  // get hold of pre-filtered object collections
248  handle1->getObjects(triggerType1_, coll1);
249  handle2->getObjects(triggerType2_, coll2);
250  const trigger::size_type n1(coll1.size());
251  const trigger::size_type n2(coll2.size());
252 
253  if (saveTags()) {
254  edm::InputTag tagOld;
255  for (unsigned int i = 0; i < originTag1_.size(); ++i) {
256  filterproduct.addCollectionTag(originTag1_[i]);
257  }
258  tagOld = edm::InputTag();
259  for (trigger::size_type i1 = 0; i1 != n1; ++i1) {
260  const edm::ProductID pid(coll1[i1].id());
261  const std::string& label(iEvent.getProvenance(pid).moduleLabel());
262  const std::string& instance(iEvent.getProvenance(pid).productInstanceName());
263  const std::string& process(iEvent.getProvenance(pid).processName());
265  if (tagOld.encode() != tagNew.encode()) {
266  filterproduct.addCollectionTag(tagNew);
267  tagOld = tagNew;
268  }
269  }
270  for (unsigned int i = 0; i < originTag2_.size(); ++i) {
271  filterproduct.addCollectionTag(originTag2_[i]);
272  }
273  tagOld = edm::InputTag();
274  for (trigger::size_type i2 = 0; i2 != n2; ++i2) {
275  const edm::ProductID pid(coll2[i2].id());
276  const std::string& label(iEvent.getProvenance(pid).moduleLabel());
277  const std::string& instance(iEvent.getProvenance(pid).productInstanceName());
278  const std::string& process(iEvent.getProvenance(pid).processName());
280  if (tagOld.encode() != tagNew.encode()) {
281  filterproduct.addCollectionTag(tagNew);
282  tagOld = tagNew;
283  }
284  }
285  }
286 
287  return true;
288  } else
289  return false;
290 }
291 
292 template <typename T1, typename T2>
294  const reco::Candidate& candidate1(*r1);
295  const reco::Candidate& candidate2(*r2);
296  if (reco::deltaR(candidate1, candidate2) < minDR_)
297  return false;
298  if (std::abs(candidate1.vz() - candidate2.vz()) > maxDZ_)
299  return false;
300 
301  return true;
302 }
303 
304 template <>
306  T1Ref& r1,
307  T2Ref& r2) const {
309  iEvent.getByToken(electronToken_, electronHandle_);
310  if (!electronHandle_.isValid())
311  edm::LogError("HLTDoubletDZ") << "HLTDoubletDZ: Electron Handle not valid.";
312 
313  if (reco::deltaR(*r1, *r2) < minDR_)
314  return false;
316  for (auto const& eleIt : *electronHandle_) {
317  if (eleIt.superCluster() == r1->superCluster())
318  e1 = eleIt;
319  }
320 
321  const reco::RecoChargedCandidate& candidate2(*r2);
322  bool skipDZ = false;
323  if (minPixHitsForDZ_ > 0 && (e1.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_ ||
324  candidate2.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_))
325  skipDZ = true;
326  if (!skipDZ && std::abs(e1.vz() - candidate2.vz()) > maxDZ_)
327  return false;
328 
329  return true;
330 }
331 
332 template <>
334  T1Ref& r1,
335  T2Ref& r2) const {
337  iEvent.getByToken(electronToken_, electronHandle_);
338  if (!electronHandle_.isValid())
339  edm::LogError("HLTDoubletDZ") << "HLTDoubletDZ: Electron Handle not valid.";
340 
341  if (reco::deltaR(*r1, *r2) < minDR_)
342  return false;
343  reco::Electron e2;
344  for (auto const& eleIt : *electronHandle_) {
345  if (eleIt.superCluster() == r2->superCluster())
346  e2 = eleIt;
347  }
348 
349  const reco::RecoChargedCandidate& candidate1(*r1);
350  bool skipDZ = false;
351  if (minPixHitsForDZ_ > 0 && (candidate1.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_ ||
352  e2.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_))
353  skipDZ = true;
354  if (!skipDZ && std::abs(e2.vz() - candidate1.vz()) > maxDZ_)
355  return false;
356 
357  return true;
358 }
359 
360 template <>
362  T1Ref& r1,
363  T2Ref& r2) const {
365  iEvent.getByToken(electronToken_, electronHandle_);
366  if (!electronHandle_.isValid())
367  edm::LogError("HLTDoubletDZ") << "HLTDoubletDZ: Electron Handle not valid.";
368 
369  if (reco::deltaR(*r1, *r2) < minDR_)
370  return false;
371  reco::Electron e1, e2;
372  for (auto const& eleIt : *electronHandle_) {
373  if (eleIt.superCluster() == r2->superCluster())
374  e2 = eleIt;
375  if (eleIt.superCluster() == r1->superCluster())
376  e1 = eleIt;
377  }
378 
379  bool skipDZ = false;
380  if (minPixHitsForDZ_ > 0 && (e1.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_ ||
381  e2.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_))
382  skipDZ = true;
383  if (!skipDZ && std::abs(e2.vz() - e1.vz()) > maxDZ_)
384  return false;
385 
386  return true;
387 }
388 
389 template <>
391  T1Ref& r1,
392  T2Ref& r2) const {
393  const reco::RecoChargedCandidate& candidate1(*r1);
394  const reco::RecoChargedCandidate& candidate2(*r2);
395  if (reco::deltaR(candidate1, candidate2) < minDR_)
396  return false;
397  bool skipDZ = false;
398  if (minPixHitsForDZ_ > 0 && (candidate1.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_ ||
399  candidate2.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_))
400  skipDZ = true;
401  if (!skipDZ && std::abs(candidate1.vz() - candidate2.vz()) > maxDZ_)
402  return false;
403 
404  return true;
405 }
406 
407 // ------------ method called to produce the data ------------
408 template <typename T1, typename T2>
410  const edm::EventSetup& iSetup,
411  trigger::TriggerFilterObjectWithRefs& filterproduct) const {
412  // All HLT filters must create and fill an HLT filter object,
413  // recording any reconstructed physics objects satisfying (or not)
414  // this HLT filter, and place it in the Event.
415  bool accept(false);
416 
417  std::vector<T1Ref> coll1;
418  std::vector<T2Ref> coll2;
419 
420  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
421  int n(0);
422  T1Ref r1;
423  T2Ref r2;
424 
425  for (unsigned int i1 = 0; i1 != coll1.size(); i1++) {
426  r1 = coll1[i1];
427  //const reco::Candidate& candidate1(*r1);
428  unsigned int I(0);
429  if (same_) {
430  I = i1 + 1;
431  }
432  for (unsigned int i2 = I; i2 != coll2.size(); i2++) {
433  r2 = coll2[i2];
434  if (checkSC_) {
435  if (r1->superCluster().isNonnull() && r2->superCluster().isNonnull()) {
436  if (r1->superCluster() == r2->superCluster())
437  continue;
438  }
439  }
440 
441  if (!computeDZ(iEvent, r1, r2))
442  continue;
443 
444  n++;
445  filterproduct.addObject(triggerType1_, r1);
446  filterproduct.addObject(triggerType2_, r2);
447  }
448  }
449 
450  accept = accept || (n >= min_N_);
451  }
452 
453  return accept;
454 }
455 
462 
defaultModuleLabel.h
trigger::TriggerRefsCollections::addObject
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
Definition: TriggerRefsCollections.h:235
trigger::TriggerFilterObjectWithRefs
Definition: TriggerFilterObjectWithRefs.h:35
reco::RecoChargedCandidate::track
reco::TrackRef track() const override
reference to a track
Definition: RecoChargedCandidate.cc:9
testProducerWithPsetDescEmpty_cfi.i2
i2
Definition: testProducerWithPsetDescEmpty_cfi.py:46
Handle.h
electrons_cff.bool
bool
Definition: electrons_cff.py:393
mps_fire.i
i
Definition: mps_fire.py:428
reco::Electron::gsfTrack
reco::GsfTrackRef gsfTrack() const override
reference to a GsfTrack
MessageLogger.h
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
HLTDoubletDZ::~HLTDoubletDZ
~HLTDoubletDZ() override
Definition: HLTDoubletDZ.cc:129
edm
HLT enums.
Definition: AlignableModifier.h:19
testProducerWithPsetDescEmpty_cfi.i1
i1
Definition: testProducerWithPsetDescEmpty_cfi.py:45
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89287
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
trigger::TriggerFilterObjectWithRefs::addCollectionTag
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
Definition: TriggerFilterObjectWithRefs.h:55
reco::LeafCandidate::vz
double vz() const override
z coordinate of vertex position
Definition: LeafCandidate.h:171
HLTDoubletDZ::getCollections
bool getCollections(edm::Event &iEvent, std::vector< T1Ref > &coll1, std::vector< T2Ref > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const
Definition: HLTDoubletDZ.cc:241
TriggerFilterObjectWithRefs.h
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
HLTDoubletDZ
Definition: HLTDoubletDZ.h:27
reco::Electron
Definition: Electron.h:16
HLTDoubletDZ::HLTDoubletDZ
HLTDoubletDZ(const edm::ParameterSet &)
Definition: HLTDoubletDZ.cc:29
edm::Handle< trigger::TriggerFilterObjectWithRefs >
HLTDoubletDZ::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HLTDoubletDZ.cc:132
trigger::TriggerRefsCollections::getObjects
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
Definition: TriggerRefsCollections.h:452
HLTFilter
Definition: HLTFilter.h:28
edm::Ref
Definition: AssociativeIterator.h:58
accept
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
MakerMacros.h
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
Exhume::I
const std::complex< double > I
Definition: I.h:8
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
BeamBkgSkim_cff.saveTags
saveTags
Definition: BeamBkgSkim_cff.py:9
ElectronFwd.h
HLT2MuonMuonDZ
HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoChargedCandidate > HLT2MuonMuonDZ
Definition: HLTDoubletDZ.cc:457
edm::ParameterSet
Definition: ParameterSet.h:47
defaultModuleLabel
std::string defaultModuleLabel()
Definition: defaultModuleLabel.h:16
deltaR.h
LaserDQM_cfg.process
process
Definition: LaserDQM_cfg.py:3
HLT2ElectronElectronDZ
HLTDoubletDZ< reco::Electron, reco::Electron > HLT2ElectronElectronDZ
Definition: HLTDoubletDZ.cc:456
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
diffTwoXMLs.r2
r2
Definition: diffTwoXMLs.py:73
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
edm::InputTag::encode
std::string encode() const
Definition: InputTag.cc:159
reco::RecoChargedCandidate
Definition: RecoChargedCandidate.h:15
edm::EventSetup
Definition: EventSetup.h:57
svgfig.template
def template(fileName, svg, replaceme="REPLACEME")
Definition: svgfig.py:521
HLT2ElectronMuonDZ
HLTDoubletDZ< reco::Electron, reco::RecoChargedCandidate > HLT2ElectronMuonDZ
Definition: HLTDoubletDZ.cc:458
HLT2MuonPhotonDZ
HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoEcalCandidate > HLT2MuonPhotonDZ
Definition: HLTDoubletDZ.cc:460
reco::ElectronCollection
std::vector< Electron > ElectronCollection
collectin of Electron objects
Definition: ElectronFwd.h:9
instance
static PFTauRenderPlugin instance
Definition: PFTauRenderPlugin.cc:70
reco::Candidate
Definition: Candidate.h:27
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
Electron.h
std
Definition: JetResolutionObject.h:76
Ref.h
RecoEcalCandidate.h
RecoChargedCandidate.h
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
HLT2PhotonMuonDZ
HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoChargedCandidate > HLT2PhotonMuonDZ
Definition: HLTDoubletDZ.cc:461
alcaDQMUpload.encode
def encode(args, files)
Definition: alcaDQMUpload.py:32
HLTDoubletDZ::hltFilter
bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
Definition: HLTDoubletDZ.cc:409
HLT_FULL_cff.originTag2
originTag2
Definition: HLT_FULL_cff.py:19403
reco::Candidate::vz
virtual double vz() const =0
z coordinate of vertex position
reco::deltaR
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
RecoEcalCandidateFwd.h
trigger
Definition: HLTPrescaleTableCond.h:8
HLT_FULL_cff.originTag1
originTag1
Definition: HLT_FULL_cff.py:19406
HLT2PhotonPhotonDZ
HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoEcalCandidate > HLT2PhotonPhotonDZ
Definition: HLTDoubletDZ.cc:459
HLTDoubletDZ::computeDZ
bool computeDZ(edm::Event &iEvent, T1Ref &c1, T2Ref &c2) const
Definition: HLTDoubletDZ.cc:293
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
ParameterSet.h
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
RecoChargedCandidateFwd.h
edm::Log
Definition: MessageLogger.h:70
edm::InputTag
Definition: InputTag.h:15
label
const char * label
Definition: PFTauDecayModeTools.cc:11
HLTDoubletDZ.h
edm::ProductID
Definition: ProductID.h:27