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 //
12 //
13 // Original Author:
14 // Created: Tue Oct 17 00:14:00 EDT 2006
15 //
16 
17 // system include files
18 
19 // user include files
26 
35 
36 // forward declarations
37 
39  public:
41  ~L1ExtraParticleMapProd() override;
42 
43 
44  void produce(edm::Event&, const edm::EventSetup&) override;
45  private:
46 
47  // Adds Refs to the objects in handle to the outputRefs vector.
48  template< class TCollection >
49  void addToVectorRefs(
50  const edm::Handle< TCollection >& handle, // input
51  std::vector< edm::Ref< TCollection > >& vectorRefs ) ; // output
52 
53  template< class TCollection >
55  const std::vector< edm::Ref< TCollection > >& inputRefs, // input
56  const double& etThreshold, // input
57  bool& decision, // output
58  std::vector< edm::Ref< TCollection > >& outputRefs ) ; // output
59 
60  template< class TCollection >
62  const std::vector< edm::Ref< TCollection > >& inputRefs, // input
63  const double& etThreshold, // input
64  bool& decision, // output
65  std::vector< edm::Ref< TCollection > >& outputRefs, // output
67  bool combinedWithGlobalObject = false ) ; // if true, add entry for
68  // HT or MET to particle combos
69 
70  template< class TCollection >
72  const std::vector< edm::Ref< TCollection > >& inputRefs, // input
73  const double& etThreshold, // input
74  bool& decision, // output
75  std::vector< edm::Ref< TCollection > >& outputRefs, // output
76  l1extra::L1ParticleMap::L1IndexComboVector& combos ) ; // output
77 
78  template< class TCollection1, class TCollection2 >
80  const std::vector< edm::Ref< TCollection1 > >& inputRefs1, // input
81  const std::vector< edm::Ref< TCollection2 > >& inputRefs2, // input
82  const double& etThreshold1, // input
83  const double& etThreshold2, // input
84  bool& decision, // output
85  std::vector< edm::Ref< TCollection1 > >& outputRefs1, // output
86  std::vector< edm::Ref< TCollection2 > >& outputRefs2, // output
87  l1extra::L1ParticleMap::L1IndexComboVector& combos ) ; // output
88 
89  template< class TCollection >
91  const std::vector< edm::Ref< TCollection > >& inputRefs, // input
92  const double& etThreshold, // input
93  bool& decision, // output
94  std::vector< edm::Ref< TCollection > >& outputRefs, // output
95  l1extra::L1ParticleMap::L1IndexComboVector& combos ) ; // output
96 
97  template< class TCollection1, class TCollection2 >
99  const std::vector< edm::Ref< TCollection1 > >& inputRefs1, // input
100  const std::vector< edm::Ref< TCollection2 > >& inputRefs2, // input
101  const double& etThreshold1, // input
102  const double& etThreshold2, // input
103  bool& decision, // output
104  std::vector< edm::Ref< TCollection1 > >& outputRefs1, // output
105  std::vector< edm::Ref< TCollection2 > >& outputRefs2, // output
106  l1extra::L1ParticleMap::L1IndexComboVector& combos ) ; // output
107 
108  template< class TCollection >
110  const std::vector< edm::Ref< TCollection > >& inputRefs1, // input
111  const std::vector< edm::Ref< TCollection > >& inputRefs2, // input
112  const double& etThreshold1, // input
113  const double& etThreshold2, // input
114  bool& decision, // output
115  std::vector< edm::Ref< TCollection > >& outputRefs, // output
116  l1extra::L1ParticleMap::L1IndexComboVector& combos ) ; // output
117 
119  const l1extra::L1EmParticleVectorRef& inputRefs1, // input
120  const l1extra::L1JetParticleVectorRef& inputRefs2, // input
121  const double& etThreshold1, // input
122  const double& etThreshold2, // input
123  bool& decision, // output
124  l1extra::L1EmParticleVectorRef& outputRefs1, // output
125  l1extra::L1JetParticleVectorRef& outputRefs2, // output
126  l1extra::L1ParticleMap::L1IndexComboVector& combos ) ; // output
127 
129  const l1extra::L1JetParticleVectorRef& inputRefs, // input
130  const double& etThreshold, // input
131  bool& decision, // output
132  l1extra::L1JetParticleVectorRef& outputRefs, // output
133  l1extra::L1ParticleMap::L1IndexComboVector& combos ); // output
134 
136  const l1extra::L1JetParticleVectorRef& inputRefs, // input
137  const double& etThreshold, // input
138  bool& decision ); // output
139 
141  const l1extra::L1EmParticleVectorRef& inputRefs1, // input
142  const l1extra::L1JetParticleVectorRef& inputRefs2, // input
143  const double& etThreshold1, // input
144  const double& etThreshold2, // input
145  bool& decision, // output
146  l1extra::L1EmParticleVectorRef& outputRefs1, // output
147  l1extra::L1ParticleMap::L1IndexComboVector& combos ); // output
148 
149  // ----------member data ---------------------------
158 
161  int prescaleCounters_[
163  std::pair< double, double >
165 };
166 
167 #endif
std::vector< L1EmParticleRef > L1EmParticleVectorRef
std::vector< L1JetParticleRef > L1JetParticleVectorRef
void evaluateQuadSameObjectTrigger(const std::vector< edm::Ref< TCollection > > &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection > > &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos)
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)
void evaluateForwardRapidityGap(const l1extra::L1JetParticleVectorRef &inputRefs, const double &etThreshold, bool &decision)
void produce(edm::Event &, const edm::EventSetup &) override
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)
std::vector< L1IndexCombo > L1IndexComboVector
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)
int prescaleCounters_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
double singleThresholds_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
std::pair< double, double > doubleThresholds_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
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 evaluateTripleSameObjectTrigger(const std::vector< edm::Ref< TCollection > > &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection > > &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos)
void evaluateSingleObjectTrigger(const std::vector< edm::Ref< TCollection > > &inputRefs, const double &etThreshold, bool &decision, std::vector< edm::Ref< TCollection > > &outputRefs)
int prescales_[l1extra::L1ParticleMap::kNumOfL1TriggerTypes]
L1ExtraParticleMapProd(const edm::ParameterSet &)
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 addToVectorRefs(const edm::Handle< TCollection > &handle, std::vector< edm::Ref< TCollection > > &vectorRefs)
void evaluateJetGapJetTrigger(const l1extra::L1JetParticleVectorRef &inputRefs, const double &etThreshold, bool &decision, l1extra::L1JetParticleVectorRef &outputRefs, l1extra::L1ParticleMap::L1IndexComboVector &combos)