CMS 3D CMS Logo

L1ExtraParticleMapProd.h
Go to the documentation of this file.
1 #ifndef L1ExtraFromDigis_L1ExtraParticleMapProd_h
2 #define L1ExtraFromDigis_L1ExtraParticleMapProd_h
3 // -*- C++ -*-
4 //
5 // Package: L1ExtraFromDigis
6 // Class : L1ExtraParticleMapProd
7 //
14 //
15 // Original Author:
16 // Created: Tue Oct 17 00:14:00 EDT 2006
17 //
18 
19 // system include files
20 
21 // user include files
28 
37 
38 // forward declarations
39 
41 public:
42  explicit L1ExtraParticleMapProd(const edm::ParameterSet &);
43  ~L1ExtraParticleMapProd() override;
44 
45  void produce(edm::Event &, const edm::EventSetup &) override;
46 
47 private:
48  // Adds Refs to the objects in handle to the outputRefs vector.
49  template <class TCollection>
50  void addToVectorRefs(const edm::Handle<TCollection> &handle, // input
51  std::vector<edm::Ref<TCollection>> &vectorRefs); // output
52 
53  template <class TCollection>
54  void evaluateSingleObjectTrigger(const std::vector<edm::Ref<TCollection>> &inputRefs, // input
55  const double &etThreshold, // input
56  bool &decision, // output
57  std::vector<edm::Ref<TCollection>> &outputRefs); // output
58 
59  template <class TCollection>
60  void evaluateDoubleSameObjectTrigger(const std::vector<edm::Ref<TCollection>> &inputRefs, // input
61  const double &etThreshold, // input
62  bool &decision, // output
63  std::vector<edm::Ref<TCollection>> &outputRefs, // output
65  bool combinedWithGlobalObject = false); // if true, add entry for
66  // HT or MET to particle combos
67 
68  template <class TCollection>
69  void evaluateTripleSameObjectTrigger(const std::vector<edm::Ref<TCollection>> &inputRefs, // input
70  const double &etThreshold, // input
71  bool &decision, // output
72  std::vector<edm::Ref<TCollection>> &outputRefs, // output
74 
75  template <class TCollection1, class TCollection2>
76  void evaluateDoublePlusSingleObjectTrigger(const std::vector<edm::Ref<TCollection1>> &inputRefs1, // input
77  const std::vector<edm::Ref<TCollection2>> &inputRefs2, // input
78  const double &etThreshold1, // input
79  const double &etThreshold2, // input
80  bool &decision, // output
81  std::vector<edm::Ref<TCollection1>> &outputRefs1, // output
82  std::vector<edm::Ref<TCollection2>> &outputRefs2, // output
84 
85  template <class TCollection>
86  void evaluateQuadSameObjectTrigger(const std::vector<edm::Ref<TCollection>> &inputRefs, // input
87  const double &etThreshold, // input
88  bool &decision, // output
89  std::vector<edm::Ref<TCollection>> &outputRefs, // output
91 
92  template <class TCollection1, class TCollection2>
93  void evaluateDoubleDifferentObjectTrigger(const std::vector<edm::Ref<TCollection1>> &inputRefs1, // input
94  const std::vector<edm::Ref<TCollection2>> &inputRefs2, // input
95  const double &etThreshold1, // input
96  const double &etThreshold2, // input
97  bool &decision, // output
98  std::vector<edm::Ref<TCollection1>> &outputRefs1, // output
99  std::vector<edm::Ref<TCollection2>> &outputRefs2, // output
101 
102  template <class TCollection>
103  void evaluateDoubleDifferentObjectSameTypeTrigger(const std::vector<edm::Ref<TCollection>> &inputRefs1, // input
104  const std::vector<edm::Ref<TCollection>> &inputRefs2, // input
105  const double &etThreshold1, // input
106  const double &etThreshold2, // input
107  bool &decision, // output
108  std::vector<edm::Ref<TCollection>> &outputRefs, // output
110 
112  const l1extra::L1JetParticleVectorRef &inputRefs2, // input
113  const double &etThreshold1, // input
114  const double &etThreshold2, // input
115  bool &decision, // output
116  l1extra::L1EmParticleVectorRef &outputRefs1, // output
117  l1extra::L1JetParticleVectorRef &outputRefs2, // output
119 
120  void evaluateJetGapJetTrigger(const l1extra::L1JetParticleVectorRef &inputRefs, // input
121  const double &etThreshold, // input
122  bool &decision, // output
123  l1extra::L1JetParticleVectorRef &outputRefs, // output
125 
126  void evaluateForwardRapidityGap(const l1extra::L1JetParticleVectorRef &inputRefs, // input
127  const double &etThreshold, // input
128  bool &decision); // output
129 
130  void evaluateDoubleExclusiveIsoEG(const l1extra::L1EmParticleVectorRef &inputRefs1, // input
131  const l1extra::L1JetParticleVectorRef &inputRefs2, // input
132  const double &etThreshold1, // input
133  const double &etThreshold2, // input
134  bool &decision, // output
135  l1extra::L1EmParticleVectorRef &outputRefs1, // output
137 
138  // ----------member data ---------------------------
147 
152 };
153 
154 #endif
L1ExtraParticleMapProd::evaluateQuadSameObjectTrigger
void evaluateQuadSameObjectTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos)
Definition: L1ExtraParticleMapProd.cc:1475
L1ExtraParticleMapProd::cenJetSource_
edm::InputTag cenJetSource_
Definition: L1ExtraParticleMapProd.h:142
L1ExtraParticleMapProd
Definition: L1ExtraParticleMapProd.h:40
L1ParticleMapFwd.h
L1ExtraParticleMapProd::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: L1ExtraParticleMapProd.cc:496
L1ExtraParticleMapProd::prescales_
int prescales_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
Definition: L1ExtraParticleMapProd.h:149
EDProducer.h
l1extra::L1ParticleMap::L1IndexComboVector
std::vector< L1IndexCombo > L1IndexComboVector
Definition: L1ParticleMap.h:263
patZpeak.handle
handle
Definition: patZpeak.py:23
L1ExtraParticleMapProd::muonSource_
edm::InputTag muonSource_
Definition: L1ExtraParticleMapProd.h:139
L1ExtraParticleMapProd::isoEmSource_
edm::InputTag isoEmSource_
Definition: L1ExtraParticleMapProd.h:140
L1ExtraParticleMapProd::forJetSource_
edm::InputTag forJetSource_
Definition: L1ExtraParticleMapProd.h:143
L1ExtraParticleMapProd::singleThresholds_
double singleThresholds_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
Definition: L1ExtraParticleMapProd.h:148
L1ExtraParticleMapProd::evaluateDoubleDifferentObjectSameTypeTrigger
void evaluateDoubleDifferentObjectSameTypeTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs1, const std::vector< edm::Ref< TCollection >> &inputRefs2, const double &etThreshold1, const double &etThreshold2, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos)
Definition: L1ExtraParticleMapProd.cc:1621
l1extra::L1JetParticleVectorRef
std::vector< L1JetParticleRef > L1JetParticleVectorRef
Definition: L1JetParticleFwd.h:34
edm::Handle
Definition: AssociativeIterator.h:50
L1ExtraParticleMapProd::addToVectorRefs
void addToVectorRefs(const edm::Handle< TCollection > &handle, std::vector< edm::Ref< TCollection >> &vectorRefs)
Definition: L1ExtraParticleMapProd.cc:1246
edm::Ref
Definition: AssociativeIterator.h:58
L1ExtraParticleMapProd::evaluateForwardRapidityGap
void evaluateForwardRapidityGap(const l1extra::L1JetParticleVectorRef &inputRefs, const double &etThreshold, bool &decision)
Definition: L1ExtraParticleMapProd.cc:1795
L1ExtraParticleMapProd::htMissSource_
edm::InputTag htMissSource_
Definition: L1ExtraParticleMapProd.h:146
L1ExtraParticleMapProd::evaluateSingleObjectTrigger
void evaluateSingleObjectTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs)
Definition: L1ExtraParticleMapProd.cc:1255
L1ExtraParticleMapProd::evaluateDoubleSameObjectTrigger
void evaluateDoubleSameObjectTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos, bool combinedWithGlobalObject=false)
Definition: L1ExtraParticleMapProd.cc:1269
L1ExtraParticleMapProd::doubleThresholds_
std::pair< double, double > doubleThresholds_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
Definition: L1ExtraParticleMapProd.h:151
L1EmParticleFwd.h
L1JetParticleFwd.h
edm::ParameterSet
Definition: ParameterSet.h:36
Event.h
L1ExtraParticleMapProd::~L1ExtraParticleMapProd
~L1ExtraParticleMapProd() override
Definition: L1ExtraParticleMapProd.cc:486
L1ExtraParticleMapProd::evaluateDoubleDifferentCaloObjectTrigger
void evaluateDoubleDifferentCaloObjectTrigger(const l1extra::L1EmParticleVectorRef &inputRefs1, const l1extra::L1JetParticleVectorRef &inputRefs2, const double &etThreshold1, const double &etThreshold2, bool &decision, l1extra::L1EmParticleVectorRef &outputRefs1, l1extra::L1JetParticleVectorRef &outputRefs2, l1extra::L1ParticleMap::L1IndexComboVector &combos)
Definition: L1ExtraParticleMapProd.cc:1678
L1ParticleMap.h
edm::EventSetup
Definition: EventSetup.h:57
L1ExtraParticleMapProd::prescaleCounters_
int prescaleCounters_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
Definition: L1ExtraParticleMapProd.h:150
L1EmParticle.h
L1ExtraParticleMapProd::evaluateDoublePlusSingleObjectTrigger
void evaluateDoublePlusSingleObjectTrigger(const std::vector< edm::Ref< TCollection1 >> &inputRefs1, const std::vector< edm::Ref< TCollection2 >> &inputRefs2, const double &etThreshold1, const double &etThreshold2, bool &decision, std::vector< edm::Ref< TCollection1 >> &outputRefs1, std::vector< edm::Ref< TCollection2 >> &outputRefs2, l1extra::L1ParticleMap::L1IndexComboVector &combos)
Definition: L1ExtraParticleMapProd.cc:1398
InputTag.h
l1extra::L1ParticleMap::kNumOfL1TriggerTypes
Definition: L1ParticleMap.h:259
L1ExtraParticleMapProd::L1ExtraParticleMapProd
L1ExtraParticleMapProd(const edm::ParameterSet &)
Definition: L1ExtraParticleMapProd.cc:42
l1extra::L1EmParticleVectorRef
std::vector< L1EmParticleRef > L1EmParticleVectorRef
Definition: L1EmParticleFwd.h:34
L1MuonParticle.h
Frameworkfwd.h
L1ExtraParticleMapProd::evaluateDoubleExclusiveIsoEG
void evaluateDoubleExclusiveIsoEG(const l1extra::L1EmParticleVectorRef &inputRefs1, const l1extra::L1JetParticleVectorRef &inputRefs2, const double &etThreshold1, const double &etThreshold2, bool &decision, l1extra::L1EmParticleVectorRef &outputRefs1, l1extra::L1ParticleMap::L1IndexComboVector &combos)
Definition: L1ExtraParticleMapProd.cc:1819
L1ExtraParticleMapProd::evaluateDoubleDifferentObjectTrigger
void evaluateDoubleDifferentObjectTrigger(const std::vector< edm::Ref< TCollection1 >> &inputRefs1, const std::vector< edm::Ref< TCollection2 >> &inputRefs2, const double &etThreshold1, const double &etThreshold2, bool &decision, std::vector< edm::Ref< TCollection1 >> &outputRefs1, std::vector< edm::Ref< TCollection2 >> &outputRefs2, l1extra::L1ParticleMap::L1IndexComboVector &combos)
Definition: L1ExtraParticleMapProd.cc:1562
EventSetup.h
edm::EDProducer
Definition: EDProducer.h:36
L1ExtraParticleMapProd::nonIsoEmSource_
edm::InputTag nonIsoEmSource_
Definition: L1ExtraParticleMapProd.h:141
ParameterSet.h
edm::Event
Definition: Event.h:73
L1JetParticle.h
L1ExtraParticleMapProd::etMissSource_
edm::InputTag etMissSource_
Definition: L1ExtraParticleMapProd.h:145
L1ExtraParticleMapProd::evaluateJetGapJetTrigger
void evaluateJetGapJetTrigger(const l1extra::L1JetParticleVectorRef &inputRefs, const double &etThreshold, bool &decision, l1extra::L1JetParticleVectorRef &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos)
Definition: L1ExtraParticleMapProd.cc:1740
edm::InputTag
Definition: InputTag.h:15
L1GlobalTriggerReadoutRecord.h
L1ExtraParticleMapProd::evaluateTripleSameObjectTrigger
void evaluateTripleSameObjectTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos)
Definition: L1ExtraParticleMapProd.cc:1327
L1ExtraParticleMapProd::tauJetSource_
edm::InputTag tauJetSource_
Definition: L1ExtraParticleMapProd.h:144