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::StreamID, edm::Event &, const edm::EventSetup &) const 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) const; // 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) const; // output
58 
59  template <class TCollection>
61  const double &etThreshold, // input
62  bool &decision, // output
63  std::vector<edm::Ref<TCollection>> &outputRefs, // output
65  bool combinedWithGlobalObject = false) const; // if true, add entry for
66  // HT or MET to particle combos
67 
68  template <class TCollection>
70  const double &etThreshold, // input
71  bool &decision, // output
72  std::vector<edm::Ref<TCollection>> &outputRefs, // output
73  l1extra::L1ParticleMap::L1IndexComboVector &combos) const; // output
74 
75  template <class TCollection1, class TCollection2>
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
83  l1extra::L1ParticleMap::L1IndexComboVector &combos) const; // 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
90  l1extra::L1ParticleMap::L1IndexComboVector &combos) const; // output
91 
92  template <class TCollection1, class TCollection2>
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
100  l1extra::L1ParticleMap::L1IndexComboVector &combos) const; // output
101 
102  template <class TCollection>
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
109  l1extra::L1ParticleMap::L1IndexComboVector &combos) const; // 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
118  l1extra::L1ParticleMap::L1IndexComboVector &combos) const; // output
119 
120  void evaluateJetGapJetTrigger(const l1extra::L1JetParticleVectorRef &inputRefs, // input
121  const double &etThreshold, // input
122  bool &decision, // output
123  l1extra::L1JetParticleVectorRef &outputRefs, // output
124  l1extra::L1ParticleMap::L1IndexComboVector &combos) const; // output
125 
126  void evaluateForwardRapidityGap(const l1extra::L1JetParticleVectorRef &inputRefs, // input
127  const double &etThreshold, // input
128  bool &decision) const; // 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
136  l1extra::L1ParticleMap::L1IndexComboVector &combos) const; // output
137 
138  // ----------member data ---------------------------
147 
151 };
152 
153 #endif
void evaluateTripleSameObjectTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos) const
void evaluateSingleObjectTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs) const
std::pair< double, double > doubleThresholds_[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) const
void addToVectorRefs(const edm::Handle< TCollection > &handle, std::vector< edm::Ref< TCollection >> &vectorRefs) const
void evaluateForwardRapidityGap(const l1extra::L1JetParticleVectorRef &inputRefs, const double &etThreshold, bool &decision) const
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
std::vector< L1JetParticleRef > L1JetParticleVectorRef
void evaluateJetGapJetTrigger(const l1extra::L1JetParticleVectorRef &inputRefs, const double &etThreshold, bool &decision, l1extra::L1JetParticleVectorRef &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos) const
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) const
double singleThresholds_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
void evaluateQuadSameObjectTrigger(const std::vector< edm::Ref< TCollection >> &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection >> &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos) const
std::vector< L1IndexCombo > L1IndexComboVector
int prescales_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
std::vector< L1EmParticleRef > L1EmParticleVectorRef
L1ExtraParticleMapProd(const edm::ParameterSet &)
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) const
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) const
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) const
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) const