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
52  std::vector<edm::Ref<TCollection>> &vectorRefs); // output
53 
54  template <class TCollection>
56  const std::vector<edm::Ref<TCollection>> &inputRefs, // input
57  const double &etThreshold, // input
58  bool &decision, // output
59  std::vector<edm::Ref<TCollection>> &outputRefs); // output
60 
61  template <class TCollection>
63  const std::vector<edm::Ref<TCollection>> &inputRefs, // input
64  const double &etThreshold, // input
65  bool &decision, // output
66  std::vector<edm::Ref<TCollection>> &outputRefs, // output
68  bool combinedWithGlobalObject = false); // if true, add entry for
69  // HT or MET to particle combos
70 
71  template <class TCollection>
73  const std::vector<edm::Ref<TCollection>> &inputRefs, // input
74  const double &etThreshold, // input
75  bool &decision, // output
76  std::vector<edm::Ref<TCollection>> &outputRefs, // output
78 
79  template <class TCollection1, class TCollection2>
81  const std::vector<edm::Ref<TCollection1>> &inputRefs1, // input
82  const std::vector<edm::Ref<TCollection2>> &inputRefs2, // input
83  const double &etThreshold1, // input
84  const double &etThreshold2, // input
85  bool &decision, // output
86  std::vector<edm::Ref<TCollection1>> &outputRefs1, // output
87  std::vector<edm::Ref<TCollection2>> &outputRefs2, // output
89 
90  template <class TCollection>
92  const std::vector<edm::Ref<TCollection>> &inputRefs, // input
93  const double &etThreshold, // input
94  bool &decision, // output
95  std::vector<edm::Ref<TCollection>> &outputRefs, // output
97 
98  template <class TCollection1, class TCollection2>
100  const std::vector<edm::Ref<TCollection1>> &inputRefs1, // input
101  const std::vector<edm::Ref<TCollection2>> &inputRefs2, // input
102  const double &etThreshold1, // input
103  const double &etThreshold2, // input
104  bool &decision, // output
105  std::vector<edm::Ref<TCollection1>> &outputRefs1, // output
106  std::vector<edm::Ref<TCollection2>> &outputRefs2, // output
108 
109  template <class TCollection>
111  const std::vector<edm::Ref<TCollection>> &inputRefs1, // input
112  const std::vector<edm::Ref<TCollection>> &inputRefs2, // input
113  const double &etThreshold1, // input
114  const double &etThreshold2, // input
115  bool &decision, // output
116  std::vector<edm::Ref<TCollection>> &outputRefs, // output
118 
120  const l1extra::L1EmParticleVectorRef &inputRefs1, // input
121  const l1extra::L1JetParticleVectorRef &inputRefs2, // input
122  const double &etThreshold1, // input
123  const double &etThreshold2, // input
124  bool &decision, // output
125  l1extra::L1EmParticleVectorRef &outputRefs1, // output
126  l1extra::L1JetParticleVectorRef &outputRefs2, // output
128 
130  const l1extra::L1JetParticleVectorRef &inputRefs, // input
131  const double &etThreshold, // input
132  bool &decision, // output
133  l1extra::L1JetParticleVectorRef &outputRefs, // output
135 
137  const l1extra::L1JetParticleVectorRef &inputRefs, // input
138  const double &etThreshold, // input
139  bool &decision); // output
140 
142  const l1extra::L1EmParticleVectorRef &inputRefs1, // input
143  const l1extra::L1JetParticleVectorRef &inputRefs2, // input
144  const double &etThreshold1, // input
145  const double &etThreshold2, // input
146  bool &decision, // output
147  l1extra::L1EmParticleVectorRef &outputRefs1, // output
149 
150  // ----------member data ---------------------------
159 
163  std::pair<double, double>
165 };
166 
167 #endif
std::vector< L1EmParticleRef > L1EmParticleVectorRef
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)
std::pair< double, double > doubleThresholds_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
void evaluateSingleObjectTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs)
std::vector< L1JetParticleRef > L1JetParticleVectorRef
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)
void evaluateTripleSameObjectTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos)
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)
void evaluateForwardRapidityGap(const l1extra::L1JetParticleVectorRef &inputRefs, const double &etThreshold, bool &decision)
void addToVectorRefs(const edm::Handle< TCollection > &handle, std::vector< edm::Ref< TCollection >> &vectorRefs)
void produce(edm::Event &, const edm::EventSetup &) override
std::vector< L1IndexCombo > L1IndexComboVector
int prescaleCounters_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
double singleThresholds_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
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)
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)
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)
void evaluateQuadSameObjectTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos)
int prescales_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
L1ExtraParticleMapProd(const edm::ParameterSet &)
void evaluateJetGapJetTrigger(const l1extra::L1JetParticleVectorRef &inputRefs, const double &etThreshold, bool &decision, l1extra::L1JetParticleVectorRef &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos)