HiggsAnalysis-KITHiggsToTauTau
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
HttValidElectronsProducer.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include "Artus/KappaAnalysis/interface/Producers/ValidElectronsProducer.h"
5 
6 #include "HiggsAnalysis/KITHiggsToTauTau/interface/HttTypes.h"
7 
8 
44 class HttValidElectronsProducer: public ValidElectronsProducer<HttTypes>
45 {
46 
47  public:
48 
49  enum class ElectronIDType : int
50  {
51  INVALID = -2,
52  NONE = -1,
53  SUMMER2013LOOSE = 0,
54  SUMMER2013TIGHT = 1,
59  // cut 2015
64  // cut 2016
69  // cut 2017
79  };
80 
81  static ElectronIDType ToElectronIDType(std::string const& electronIDType)
82  {
83  if (electronIDType == "summer2013loose") return ElectronIDType::SUMMER2013LOOSE;
84  else if (electronIDType == "summer2013tight") return ElectronIDType::SUMMER2013TIGHT;
85  else if (electronIDType == "summer2013tthloose") return ElectronIDType::SUMMER2013TTHLOOSE;
86  else if (electronIDType == "summer2013tthtight") return ElectronIDType::SUMMER2013TTHTIGHT;
87  else if (electronIDType == "cutbased2015andlater") return ElectronIDType::CUTBASED2015ANDLATER;
88  else if (electronIDType == "mvabased2015andlater") return ElectronIDType::MVABASED2015ANDLATER;
89  else if (electronIDType == "cutbased2015noisoandipcutsveto") return ElectronIDType::CUTBASED2015NOISOANDIPCUTSVETO;
90  else if (electronIDType == "cutbased2015noisoandipcutsloose") return ElectronIDType::CUTBASED2015NOISOANDIPCUTSLOOSE;
91  else if (electronIDType == "cutbased2015noisoandipcutsmedium") return ElectronIDType::CUTBASED2015NOISOANDIPCUTSMEDIUM;
92  else if (electronIDType == "cutbased2015noisocutstight") return ElectronIDType::CUTBASED2015NOISOANDIPCUTSTIGHT;
93 
94  else if (electronIDType == "cutbased2016noisocutsveto") return ElectronIDType::CUTBASED2016NOISOCUTSVETO;
95  else if (electronIDType == "cutbased2016noisocutsloose") return ElectronIDType::CUTBASED2016NOISOCUTSLOOSE;
96  else if (electronIDType == "cutbased2016noisocutsmedium") return ElectronIDType::CUTBASED2016NOISOCUTSMEDIUM;
97  else if (electronIDType == "cutbased2016noisocutstight") return ElectronIDType::CUTBASED2016NOISOCUTSTIGHT;
98 
99  else if (electronIDType == "mvabased2017andlater") return ElectronIDType::MVABASED2017ANDLATER;
100  else if (electronIDType == "cutbased2017noisocutsveto") return ElectronIDType::CUTBASED2017NOISOCUTSVETO;
101  else if (electronIDType == "cutbased2017noisocutsloose") return ElectronIDType::CUTBASED2017NOISOCUTSLOOSE;
102  else if (electronIDType == "cutbased2017noisocutsmedium") return ElectronIDType::CUTBASED2017NOISOCUTSMEDIUM;
103  else if (electronIDType == "cutbased2017noisocutstight") return ElectronIDType::CUTBASED2017NOISOCUTSTIGHT;
104  else if (electronIDType == "cutbased2017isocutsveto") return ElectronIDType::CUTBASED2017ISOCUTSVETO;
105  else if (electronIDType == "cutbased2017isocutsloose") return ElectronIDType::CUTBASED2017ISOCUTSLOOSE;
106  else if (electronIDType == "cutbased2017isocutsmedium") return ElectronIDType::CUTBASED2017ISOCUTSMEDIUM;
107  else if (electronIDType == "cutbased2017isocutstight") return ElectronIDType::CUTBASED2017ISOCUTSTIGHT;
108 
109  else if (electronIDType == "none") return ElectronIDType::NONE;
110  else
111  LOG(FATAL) << "Could not find ElectronID " << electronIDType << "! If you want the HttValidElectronsProducer to use no special ID, use \"none\" as argument."<< std::endl;
113  }
114 
116  std::vector<KElectron*> product_type::*validElectrons=&product_type::m_validElectrons,
117  std::vector<KElectron*> product_type::*invalidElectrons=&product_type::m_invalidElectrons,
118  std::string (setting_type::*GetElectronID)(void) const=&setting_type::GetElectronID,
119  std::string (setting_type::*GetElectronIDType)(void) const=&setting_type::GetElectronIDType,
120  std::string (setting_type::*GetElectronIDName)(void) const=&setting_type::GetElectronIDName,
121  float (setting_type::*GetElectronMvaIDCutEB1)(void) const=&setting_type::GetElectronMvaIDCutEB1,
122  float (setting_type::*GetElectronMvaIDCutEB2)(void) const=&setting_type::GetElectronMvaIDCutEB2,
123  float (setting_type::*GetElectronMvaIDCutEE)(void) const=&setting_type::GetElectronMvaIDCutEE,
124 
125  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB1ParamsLowPt)(void) const=&setting_type::GetElectronMvaIDCutEB1ParamsLowPt,
126  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB2ParamsLowPt)(void) const=&setting_type::GetElectronMvaIDCutEB2ParamsLowPt,
127  std::vector<float>& (setting_type::*GetElectronMvaIDCutEEParamsLowPt)(void) const=&setting_type::GetElectronMvaIDCutEEParamsLowPt,
128  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB1ParamsHighPt)(void) const=&setting_type::GetElectronMvaIDCutEB1ParamsHighPt,
129  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB2ParamsHighPt)(void) const=&setting_type::GetElectronMvaIDCutEB2ParamsHighPt,
130  std::vector<float>& (setting_type::*GetElectronMvaIDCutEEParamsHighPt)(void) const=&setting_type::GetElectronMvaIDCutEEParamsHighPt,
131 
132  std::string (setting_type::*GetElectronIsoType)(void) const=&setting_type::GetElectronIsoType,
133  std::string (setting_type::*GetElectronIso)(void) const=&setting_type::GetElectronIso,
134  std::string (setting_type::*GetElectronReco)(void) const=&setting_type::GetElectronReco,
135  std::vector<std::string>&(setting_type::*GetLowerPtCuts)(void) const=&setting_type::GetElectronLowerPtCuts,
136  std::vector<std::string>& (setting_type::*GetUpperAbsEtaCuts)(void) const=&setting_type::GetElectronUpperAbsEtaCuts,
137  float (setting_type::*GetElectronChargedIsoVetoConeSizeEB)(void) const=&setting_type::GetElectronChargedIsoVetoConeSizeEB,
138  float (setting_type::*GetElectronChargedIsoVetoConeSizeEE)(void) const=&setting_type::GetElectronChargedIsoVetoConeSizeEE,
139  float (setting_type::*GetElectronNeutralIsoVetoConeSize)(void) const=&setting_type::GetElectronNeutralIsoVetoConeSize,
140  float (setting_type::*GetElectronPhotonIsoVetoConeSizeEB)(void) const=&setting_type::GetElectronPhotonIsoVetoConeSizeEB,
141  float (setting_type::*GetElectronPhotonIsoVetoConeSizeEE)(void) const=&setting_type::GetElectronPhotonIsoVetoConeSizeEE,
142  float (setting_type::*GetElectronDeltaBetaIsoVetoConeSize)(void) const=&setting_type::GetElectronDeltaBetaIsoVetoConeSize,
143  float (setting_type::*GetElectronChargedIsoPtThreshold)(void) const=&setting_type::GetElectronChargedIsoPtThreshold,
144  float (setting_type::*GetElectronNeutralIsoPtThreshold)(void) const=&setting_type::GetElectronNeutralIsoPtThreshold,
145  float (setting_type::*GetElectronPhotonIsoPtThreshold)(void) const=&setting_type::GetElectronPhotonIsoPtThreshold,
146  float (setting_type::*GetElectronDeltaBetaIsoPtThreshold)(void) const=&setting_type::GetElectronDeltaBetaIsoPtThreshold,
147  float (setting_type::*GetElectronIsoSignalConeSize)(void) const=&setting_type::GetElectronIsoSignalConeSize,
148  float (setting_type::*GetElectronDeltaBetaCorrectionFactor)(void) const=&setting_type::GetElectronDeltaBetaCorrectionFactor,
149  float (setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEB)(void) const=&setting_type::GetElectronIsoPtSumOverPtLowerThresholdEB,
150  float (setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEE)(void) const=&setting_type::GetElectronIsoPtSumOverPtLowerThresholdEE,
151  float (setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEB)(void) const=&setting_type::GetElectronIsoPtSumOverPtUpperThresholdEB,
152  float (setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEE)(void) const=&setting_type::GetElectronIsoPtSumOverPtUpperThresholdEE,
153  float (setting_type::*GetElectronTrackDxyCut)(void) const=&setting_type::GetElectronTrackDxyCut,
154  float (setting_type::*GetElectronTrackDzCut)(void) const=&setting_type::GetElectronTrackDzCut,
155  std::vector<std::string>& (setting_type::*GetElectronIDList)(void) const=&setting_type::GetElectronIDList
156  );
157 
158  virtual void Init(setting_type const& settings, metadata_type& metadata) override;
159 
160 
161  protected:
162 
163  // Htautau specific additional definitions
164  virtual bool AdditionalCriteria(KElectron* electron, event_type const& event,
165  product_type& product, setting_type const& settings, metadata_type const& metadata) const override;
166 
167 
168  private:
169  std::string (setting_type::*GetElectronIDType)(void) const;
170  std::string (setting_type::*GetElectronIDName)(void) const;
171  float (setting_type::*GetElectronMvaIDCutEB1)(void) const;
172  float (setting_type::*GetElectronMvaIDCutEB2)(void) const;
173  float (setting_type::*GetElectronMvaIDCutEE)(void) const;
174 
175  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB1ParamsLowPt)(void) const;
176  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB2ParamsLowPt)(void) const;
177  std::vector<float>& (setting_type::*GetElectronMvaIDCutEEParamsLowPt)(void) const;
178  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB1ParamsHighPt)(void) const;
179  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB2ParamsHighPt)(void) const;
180  std::vector<float>& (setting_type::*GetElectronMvaIDCutEEParamsHighPt)(void) const;
181 
182  float (setting_type::*GetElectronChargedIsoVetoConeSizeEB)(void) const;
183  float (setting_type::*GetElectronChargedIsoVetoConeSizeEE)(void) const;
184  float (setting_type::*GetElectronNeutralIsoVetoConeSize)(void) const;
185  float (setting_type::*GetElectronPhotonIsoVetoConeSizeEB)(void) const;
186  float (setting_type::*GetElectronPhotonIsoVetoConeSizeEE)(void) const;
187  float (setting_type::*GetElectronDeltaBetaIsoVetoConeSize)(void) const;
188  float (setting_type::*GetElectronChargedIsoPtThreshold)(void) const;
189  float (setting_type::*GetElectronNeutralIsoPtThreshold)(void) const;
190  float (setting_type::*GetElectronPhotonIsoPtThreshold)(void) const;
191  float (setting_type::*GetElectronDeltaBetaIsoPtThreshold)(void) const;
192  float (setting_type::*GetElectronIsoSignalConeSize)(void) const;
193  float (setting_type::*GetElectronDeltaBetaCorrectionFactor)(void) const;
194  float (setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEB)(void) const;
195  float (setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEE)(void) const;
196  float (setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEB)(void) const;
197  float (setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEE)(void) const;
198  float (setting_type::*GetElectronTrackDxyCut)(void) const;
199  float (setting_type::*GetElectronTrackDzCut)(void) const;
200  std::vector<std::string>& (setting_type::*GetElectronIDList)(void) const;
201 
202  ElectronIDType electronIDType;
203 
204  mutable bool electronIDListInMetadata;
205  mutable bool electronIDInMetadata;
206 
207  std::string electronIDName;
208  std::vector<std::string> electronIDList;
209 
210  float electronMvaIDCutEB1;
211  float electronMvaIDCutEB2;
212  float electronMvaIDCutEE;
213 
214  std::vector<float> ElectronMvaIDCutEB1ParamsHighPt;
215  std::vector<float> ElectronMvaIDCutEB2ParamsHighPt;
216  std::vector<float> ElectronMvaIDCutEEParamsHighPt;
217 
218  bool IsMVATrigElectronTTHSummer2013(KElectron* electron, event_type const& event, bool tightID) const;
219  bool IsMVANonTrigElectronHttSummer2013(KElectron* electron, event_type const& event, bool tightID) const;
220  bool IsCutBased(KElectron* electron, event_type const& event, const std::string &idName) const;
221  // This function uses the same criteria as the one above with the exception of
222  // isolation (and impact parameters for 2015 Id). Cut values are taken from
223  // https://twiki.cern.ch/twiki/bin/view/CMS/CutBasedElectronIdentificationRun2
224  bool IsCutBased(KElectron* electron, event_type const& event,
225  float full5x5_sigmaIetaIeta, float dEtaIn_Seed, float dPhiIn,
226  float hOverE, float invEMinusInvP, int missingHits, int year=2015) const;
227  bool IsMVABased(KElectron* electron, event_type const& event, const std::string &idName) const;
228  bool IsMVABasedFunctional(KElectron* electron, event_type const& event, const std::string &idName) const;
229  bool CheckElectronMetadata(const KElectronMetadata *meta, std::string idName, bool &checkedAlready) const;
230  bool CheckElectronMetadata(const KElectronMetadata *meta, std::vector<std::string> idNames, bool &checkedAlready) const;
231 };
232 
233 
237 {
238 
239  public:
240 
241  virtual std::string GetProducerId() const override {
242  return "HttValidLooseElectronsProducer";
243  }
244 
245  virtual void Init(setting_type const& settings, metadata_type& metadata) override {
246 
247  HttValidElectronsProducer::Init(settings, metadata);
248 
249  // add possible quantities for the lambda ntuples consumers
250  LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nLooseElectrons", [this](event_type const& event, product_type const& product) {
251  return product.m_validLooseElectrons.size();
252  });
253  }
254 
256  std::vector<KElectron*> product_type::*validElectrons=&product_type::m_validLooseElectrons,
257  std::vector<KElectron*> product_type::*invalidElectrons=&product_type::m_invalidLooseElectrons,
258  std::string (setting_type::*GetElectronID)(void) const=&setting_type::GetLooseElectronID,
259  std::string (setting_type::*GetElectronIDType)(void) const=&setting_type::GetLooseElectronIDType,
260  std::string (setting_type::*GetElectronIDName)(void) const=&setting_type::GetLooseElectronIDName,
261  float (setting_type::*GetElectronMvaIDCutEB1)(void) const=&setting_type::GetLooseElectronMvaIDCutEB1,
262  float (setting_type::*GetElectronMvaIDCutEB2)(void) const=&setting_type::GetLooseElectronMvaIDCutEB2,
263  float (setting_type::*GetElectronMvaIDCutEE)(void) const=&setting_type::GetLooseElectronMvaIDCutEE,
264 
265 
266  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB1ParamsLowPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEB1ParamsLowPt,
267  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB2ParamsLowPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEB2ParamsLowPt,
268  std::vector<float>& (setting_type::*GetElectronMvaIDCutEEParamsLowPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEEParamsLowPt,
269  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB1ParamsHighPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEB1ParamsHighPt,
270  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB2ParamsHighPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEB2ParamsHighPt,
271  std::vector<float>& (setting_type::*GetElectronMvaIDCutEEParamsHighPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEEParamsHighPt,
272 
273  std::string (setting_type::*GetElectronIsoType)(void) const=&setting_type::GetLooseElectronIsoType,
274  std::string (setting_type::*GetElectronIso)(void) const=&setting_type::GetLooseElectronIso,
275  std::string (setting_type::*GetElectronReco)(void) const=&setting_type::GetLooseElectronReco,
276  std::vector<std::string>& (setting_type::*GetLowerPtCuts)(void) const=&setting_type::GetLooseElectronLowerPtCuts,
277  std::vector<std::string>& (setting_type::*GetUpperAbsEtaCuts)(void) const=&setting_type::GetLooseElectronUpperAbsEtaCuts,
278  float (setting_type::*GetElectronChargedIsoVetoConeSizeEB)(void) const=&setting_type::GetElectronChargedIsoVetoConeSizeEB,
279  float (setting_type::*GetElectronChargedIsoVetoConeSizeEE)(void) const=&setting_type::GetElectronChargedIsoVetoConeSizeEE,
280  float (setting_type::*GetElectronNeutralIsoVetoConeSize)(void) const=&setting_type::GetElectronNeutralIsoVetoConeSize,
281  float (setting_type::*GetElectronPhotonIsoVetoConeSizeEB)(void) const=&setting_type::GetElectronPhotonIsoVetoConeSizeEB,
282  float (setting_type::*GetElectronPhotonIsoVetoConeSizeEE)(void) const=&setting_type::GetElectronPhotonIsoVetoConeSizeEE,
283  float (setting_type::*GetElectronDeltaBetaIsoVetoConeSize)(void) const=&setting_type::GetElectronDeltaBetaIsoVetoConeSize,
284  float (setting_type::*GetElectronChargedIsoPtThreshold)(void) const=&setting_type::GetElectronChargedIsoPtThreshold,
285  float (setting_type::*GetElectronNeutralIsoPtThreshold)(void) const=&setting_type::GetElectronNeutralIsoPtThreshold,
286  float (setting_type::*GetElectronPhotonIsoPtThreshold)(void) const=&setting_type::GetElectronPhotonIsoPtThreshold,
287  float (setting_type::*GetElectronDeltaBetaIsoPtThreshold)(void) const=&setting_type::GetElectronDeltaBetaIsoPtThreshold,
288  float (setting_type::*GetElectronIsoSignalConeSize)(void) const=&setting_type::GetElectronIsoSignalConeSize,
289  float (setting_type::*GetElectronDeltaBetaCorrectionFactor)(void) const=&setting_type::GetElectronDeltaBetaCorrectionFactor,
290  float (setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEB)(void) const=&setting_type::GetLooseElectronIsoPtSumOverPtLowerThresholdEB,
291  float (setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEE)(void) const=&setting_type::GetLooseElectronIsoPtSumOverPtLowerThresholdEE,
292  float (setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEB)(void) const=&setting_type::GetLooseElectronIsoPtSumOverPtUpperThresholdEB,
293  float (setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEE)(void) const=&setting_type::GetLooseElectronIsoPtSumOverPtUpperThresholdEE,
294  float (setting_type::*GetElectronTrackDxyCut)(void) const=&setting_type::GetLooseElectronTrackDxyCut,
295  float (setting_type::*GetElectronTrackDzCut)(void) const=&setting_type::GetLooseElectronTrackDzCut
296  );
297 
298 };
299 
300 
304 {
305 
306  public:
307 
308  virtual std::string GetProducerId() const override {
309  return "HttValidVetoElectronsProducer";
310  }
311 
312  virtual void Init(setting_type const& settings, metadata_type& metadata) override {
313 
314  HttValidElectronsProducer::Init(settings, metadata);
315 
316  // add possible quantities for the lambda ntuples consumers
317  LambdaNtupleConsumer<HttTypes>::AddIntQuantity(metadata, "nVetoElectrons", [this](event_type const& event, product_type const& product) {
318  return product.m_validVetoElectrons.size();
319  });
320  }
321 
323  std::vector<KElectron*> product_type::*validElectrons=&product_type::m_validVetoElectrons,
324  std::vector<KElectron*> product_type::*invalidElectrons=&product_type::m_invalidVetoElectrons,
325  std::string (setting_type::*GetElectronID)(void) const=&setting_type::GetVetoElectronID,
326  std::string (setting_type::*GetElectronIDType)(void) const=&setting_type::GetVetoElectronIDType,
327  std::string (setting_type::*GetElectronIDName)(void) const=&setting_type::GetVetoElectronIDName,
328  float (setting_type::*GetElectronMvaIDCutEB1)(void) const=&setting_type::GetVetoElectronMvaIDCutEB1,
329  float (setting_type::*GetElectronMvaIDCutEB2)(void) const=&setting_type::GetVetoElectronMvaIDCutEB2,
330  float (setting_type::*GetElectronMvaIDCutEE)(void) const=&setting_type::GetVetoElectronMvaIDCutEE,
331 
332  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB1ParamsLowPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEB1ParamsLowPt,
333  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB2ParamsLowPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEB2ParamsLowPt,
334  std::vector<float>& (setting_type::*GetElectronMvaIDCutEEParamsLowPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEEParamsLowPt,
335  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB1ParamsHighPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEB1ParamsHighPt,
336  std::vector<float>& (setting_type::*GetElectronMvaIDCutEB2ParamsHighPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEB2ParamsHighPt,
337  std::vector<float>& (setting_type::*GetElectronMvaIDCutEEParamsHighPt)(void) const=&setting_type::GetLooseElectronMvaIDCutEEParamsHighPt,
338 
339  std::string (setting_type::*GetElectronIsoType)(void) const=&setting_type::GetVetoElectronIsoType,
340  std::string (setting_type::*GetElectronIso)(void) const=&setting_type::GetVetoElectronIso,
341  std::string (setting_type::*GetElectronReco)(void) const=&setting_type::GetVetoElectronReco,
342  std::vector<std::string>& (setting_type::*GetLowerPtCuts)(void) const=&setting_type::GetVetoElectronLowerPtCuts,
343  std::vector<std::string>& (setting_type::*GetUpperAbsEtaCuts)(void) const=&setting_type::GetVetoElectronUpperAbsEtaCuts,
344  float (setting_type::*GetElectronChargedIsoVetoConeSizeEB)(void) const=&setting_type::GetElectronChargedIsoVetoConeSizeEB,
345  float (setting_type::*GetElectronChargedIsoVetoConeSizeEE)(void) const=&setting_type::GetElectronChargedIsoVetoConeSizeEE,
346  float (setting_type::*GetElectronNeutralIsoVetoConeSize)(void) const=&setting_type::GetElectronNeutralIsoVetoConeSize,
347  float (setting_type::*GetElectronPhotonIsoVetoConeSizeEB)(void) const=&setting_type::GetElectronPhotonIsoVetoConeSizeEB,
348  float (setting_type::*GetElectronPhotonIsoVetoConeSizeEE)(void) const=&setting_type::GetElectronPhotonIsoVetoConeSizeEE,
349  float (setting_type::*GetElectronDeltaBetaIsoVetoConeSize)(void) const=&setting_type::GetElectronDeltaBetaIsoVetoConeSize,
350  float (setting_type::*GetElectronChargedIsoPtThreshold)(void) const=&setting_type::GetElectronChargedIsoPtThreshold,
351  float (setting_type::*GetElectronNeutralIsoPtThreshold)(void) const=&setting_type::GetElectronNeutralIsoPtThreshold,
352  float (setting_type::*GetElectronPhotonIsoPtThreshold)(void) const=&setting_type::GetElectronPhotonIsoPtThreshold,
353  float (setting_type::*GetElectronDeltaBetaIsoPtThreshold)(void) const=&setting_type::GetElectronDeltaBetaIsoPtThreshold,
354  float (setting_type::*GetElectronIsoSignalConeSize)(void) const=&setting_type::GetElectronIsoSignalConeSize,
355  float (setting_type::*GetElectronDeltaBetaCorrectionFactor)(void) const=&setting_type::GetElectronDeltaBetaCorrectionFactor,
356  float (setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEB)(void) const=&setting_type::GetVetoElectronIsoPtSumOverPtLowerThresholdEB,
357  float (setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEE)(void) const=&setting_type::GetVetoElectronIsoPtSumOverPtLowerThresholdEE,
358  float (setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEB)(void) const=&setting_type::GetVetoElectronIsoPtSumOverPtUpperThresholdEB,
359  float (setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEE)(void) const=&setting_type::GetVetoElectronIsoPtSumOverPtUpperThresholdEE,
360  float (setting_type::*GetElectronTrackDxyCut)(void) const=&setting_type::GetElectronTrackDxyCut,
361  float (setting_type::*GetElectronTrackDzCut)(void) const=&setting_type::GetElectronTrackDzCut
362  );
363 
364 };
365 
virtual void Init(setting_type const &settings, metadata_type &metadata) override
Definition: HttValidElectronsProducer.h:245
virtual std::string GetProducerId() const override
Definition: HttValidElectronsProducer.h:241
HttValidVetoElectronsProducer(std::vector< KElectron * > product_type::*validElectrons=&product_type::m_validVetoElectrons, std::vector< KElectron * > product_type::*invalidElectrons=&product_type::m_invalidVetoElectrons, std::string(setting_type::*GetElectronID)(void) const =&setting_type::GetVetoElectronID, std::string(setting_type::*GetElectronIDType)(void) const =&setting_type::GetVetoElectronIDType, std::string(setting_type::*GetElectronIDName)(void) const =&setting_type::GetVetoElectronIDName, float(setting_type::*GetElectronMvaIDCutEB1)(void) const =&setting_type::GetVetoElectronMvaIDCutEB1, float(setting_type::*GetElectronMvaIDCutEB2)(void) const =&setting_type::GetVetoElectronMvaIDCutEB2, float(setting_type::*GetElectronMvaIDCutEE)(void) const =&setting_type::GetVetoElectronMvaIDCutEE, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB1ParamsLowPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEB1ParamsLowPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB2ParamsLowPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEB2ParamsLowPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEEParamsLowPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEEParamsLowPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB1ParamsHighPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEB1ParamsHighPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB2ParamsHighPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEB2ParamsHighPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEEParamsHighPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEEParamsHighPt, std::string(setting_type::*GetElectronIsoType)(void) const =&setting_type::GetVetoElectronIsoType, std::string(setting_type::*GetElectronIso)(void) const =&setting_type::GetVetoElectronIso, std::string(setting_type::*GetElectronReco)(void) const =&setting_type::GetVetoElectronReco, std::vector< std::string > &(setting_type::*GetLowerPtCuts)(void) const =&setting_type::GetVetoElectronLowerPtCuts, std::vector< std::string > &(setting_type::*GetUpperAbsEtaCuts)(void) const =&setting_type::GetVetoElectronUpperAbsEtaCuts, float(setting_type::*GetElectronChargedIsoVetoConeSizeEB)(void) const =&setting_type::GetElectronChargedIsoVetoConeSizeEB, float(setting_type::*GetElectronChargedIsoVetoConeSizeEE)(void) const =&setting_type::GetElectronChargedIsoVetoConeSizeEE, float(setting_type::*GetElectronNeutralIsoVetoConeSize)(void) const =&setting_type::GetElectronNeutralIsoVetoConeSize, float(setting_type::*GetElectronPhotonIsoVetoConeSizeEB)(void) const =&setting_type::GetElectronPhotonIsoVetoConeSizeEB, float(setting_type::*GetElectronPhotonIsoVetoConeSizeEE)(void) const =&setting_type::GetElectronPhotonIsoVetoConeSizeEE, float(setting_type::*GetElectronDeltaBetaIsoVetoConeSize)(void) const =&setting_type::GetElectronDeltaBetaIsoVetoConeSize, float(setting_type::*GetElectronChargedIsoPtThreshold)(void) const =&setting_type::GetElectronChargedIsoPtThreshold, float(setting_type::*GetElectronNeutralIsoPtThreshold)(void) const =&setting_type::GetElectronNeutralIsoPtThreshold, float(setting_type::*GetElectronPhotonIsoPtThreshold)(void) const =&setting_type::GetElectronPhotonIsoPtThreshold, float(setting_type::*GetElectronDeltaBetaIsoPtThreshold)(void) const =&setting_type::GetElectronDeltaBetaIsoPtThreshold, float(setting_type::*GetElectronIsoSignalConeSize)(void) const =&setting_type::GetElectronIsoSignalConeSize, float(setting_type::*GetElectronDeltaBetaCorrectionFactor)(void) const =&setting_type::GetElectronDeltaBetaCorrectionFactor, float(setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEB)(void) const =&setting_type::GetVetoElectronIsoPtSumOverPtLowerThresholdEB, float(setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEE)(void) const =&setting_type::GetVetoElectronIsoPtSumOverPtLowerThresholdEE, float(setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEB)(void) const =&setting_type::GetVetoElectronIsoPtSumOverPtUpperThresholdEB, float(setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEE)(void) const =&setting_type::GetVetoElectronIsoPtSumOverPtUpperThresholdEE, float(setting_type::*GetElectronTrackDxyCut)(void) const =&setting_type::GetElectronTrackDxyCut, float(setting_type::*GetElectronTrackDzCut)(void) const =&setting_type::GetElectronTrackDzCut)
Definition: HttValidElectronsProducer.cc:517
GlobalProducer, for valid electrons.
Definition: HttValidElectronsProducer.h:44
Definition: HttValidElectronsProducer.h:236
static ElectronIDType ToElectronIDType(std::string const &electronIDType)
Definition: HttValidElectronsProducer.h:81
HttValidElectronsProducer(std::vector< KElectron * > product_type::*validElectrons=&product_type::m_validElectrons, std::vector< KElectron * > product_type::*invalidElectrons=&product_type::m_invalidElectrons, std::string(setting_type::*GetElectronID)(void) const =&setting_type::GetElectronID, std::string(setting_type::*GetElectronIDType)(void) const =&setting_type::GetElectronIDType, std::string(setting_type::*GetElectronIDName)(void) const =&setting_type::GetElectronIDName, float(setting_type::*GetElectronMvaIDCutEB1)(void) const =&setting_type::GetElectronMvaIDCutEB1, float(setting_type::*GetElectronMvaIDCutEB2)(void) const =&setting_type::GetElectronMvaIDCutEB2, float(setting_type::*GetElectronMvaIDCutEE)(void) const =&setting_type::GetElectronMvaIDCutEE, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB1ParamsLowPt)(void) const =&setting_type::GetElectronMvaIDCutEB1ParamsLowPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB2ParamsLowPt)(void) const =&setting_type::GetElectronMvaIDCutEB2ParamsLowPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEEParamsLowPt)(void) const =&setting_type::GetElectronMvaIDCutEEParamsLowPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB1ParamsHighPt)(void) const =&setting_type::GetElectronMvaIDCutEB1ParamsHighPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB2ParamsHighPt)(void) const =&setting_type::GetElectronMvaIDCutEB2ParamsHighPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEEParamsHighPt)(void) const =&setting_type::GetElectronMvaIDCutEEParamsHighPt, std::string(setting_type::*GetElectronIsoType)(void) const =&setting_type::GetElectronIsoType, std::string(setting_type::*GetElectronIso)(void) const =&setting_type::GetElectronIso, std::string(setting_type::*GetElectronReco)(void) const =&setting_type::GetElectronReco, std::vector< std::string > &(setting_type::*GetLowerPtCuts)(void) const =&setting_type::GetElectronLowerPtCuts, std::vector< std::string > &(setting_type::*GetUpperAbsEtaCuts)(void) const =&setting_type::GetElectronUpperAbsEtaCuts, float(setting_type::*GetElectronChargedIsoVetoConeSizeEB)(void) const =&setting_type::GetElectronChargedIsoVetoConeSizeEB, float(setting_type::*GetElectronChargedIsoVetoConeSizeEE)(void) const =&setting_type::GetElectronChargedIsoVetoConeSizeEE, float(setting_type::*GetElectronNeutralIsoVetoConeSize)(void) const =&setting_type::GetElectronNeutralIsoVetoConeSize, float(setting_type::*GetElectronPhotonIsoVetoConeSizeEB)(void) const =&setting_type::GetElectronPhotonIsoVetoConeSizeEB, float(setting_type::*GetElectronPhotonIsoVetoConeSizeEE)(void) const =&setting_type::GetElectronPhotonIsoVetoConeSizeEE, float(setting_type::*GetElectronDeltaBetaIsoVetoConeSize)(void) const =&setting_type::GetElectronDeltaBetaIsoVetoConeSize, float(setting_type::*GetElectronChargedIsoPtThreshold)(void) const =&setting_type::GetElectronChargedIsoPtThreshold, float(setting_type::*GetElectronNeutralIsoPtThreshold)(void) const =&setting_type::GetElectronNeutralIsoPtThreshold, float(setting_type::*GetElectronPhotonIsoPtThreshold)(void) const =&setting_type::GetElectronPhotonIsoPtThreshold, float(setting_type::*GetElectronDeltaBetaIsoPtThreshold)(void) const =&setting_type::GetElectronDeltaBetaIsoPtThreshold, float(setting_type::*GetElectronIsoSignalConeSize)(void) const =&setting_type::GetElectronIsoSignalConeSize, float(setting_type::*GetElectronDeltaBetaCorrectionFactor)(void) const =&setting_type::GetElectronDeltaBetaCorrectionFactor, float(setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEB)(void) const =&setting_type::GetElectronIsoPtSumOverPtLowerThresholdEB, float(setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEE)(void) const =&setting_type::GetElectronIsoPtSumOverPtLowerThresholdEE, float(setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEB)(void) const =&setting_type::GetElectronIsoPtSumOverPtUpperThresholdEB, float(setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEE)(void) const =&setting_type::GetElectronIsoPtSumOverPtUpperThresholdEE, float(setting_type::*GetElectronTrackDxyCut)(void) const =&setting_type::GetElectronTrackDxyCut, float(setting_type::*GetElectronTrackDzCut)(void) const =&setting_type::GetElectronTrackDzCut, std::vector< std::string > &(setting_type::*GetElectronIDList)(void) const =&setting_type::GetElectronIDList)
Definition: HttValidElectronsProducer.cc:8
HttValidLooseElectronsProducer(std::vector< KElectron * > product_type::*validElectrons=&product_type::m_validLooseElectrons, std::vector< KElectron * > product_type::*invalidElectrons=&product_type::m_invalidLooseElectrons, std::string(setting_type::*GetElectronID)(void) const =&setting_type::GetLooseElectronID, std::string(setting_type::*GetElectronIDType)(void) const =&setting_type::GetLooseElectronIDType, std::string(setting_type::*GetElectronIDName)(void) const =&setting_type::GetLooseElectronIDName, float(setting_type::*GetElectronMvaIDCutEB1)(void) const =&setting_type::GetLooseElectronMvaIDCutEB1, float(setting_type::*GetElectronMvaIDCutEB2)(void) const =&setting_type::GetLooseElectronMvaIDCutEB2, float(setting_type::*GetElectronMvaIDCutEE)(void) const =&setting_type::GetLooseElectronMvaIDCutEE, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB1ParamsLowPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEB1ParamsLowPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB2ParamsLowPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEB2ParamsLowPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEEParamsLowPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEEParamsLowPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB1ParamsHighPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEB1ParamsHighPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEB2ParamsHighPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEB2ParamsHighPt, std::vector< float > &(setting_type::*GetElectronMvaIDCutEEParamsHighPt)(void) const =&setting_type::GetLooseElectronMvaIDCutEEParamsHighPt, std::string(setting_type::*GetElectronIsoType)(void) const =&setting_type::GetLooseElectronIsoType, std::string(setting_type::*GetElectronIso)(void) const =&setting_type::GetLooseElectronIso, std::string(setting_type::*GetElectronReco)(void) const =&setting_type::GetLooseElectronReco, std::vector< std::string > &(setting_type::*GetLowerPtCuts)(void) const =&setting_type::GetLooseElectronLowerPtCuts, std::vector< std::string > &(setting_type::*GetUpperAbsEtaCuts)(void) const =&setting_type::GetLooseElectronUpperAbsEtaCuts, float(setting_type::*GetElectronChargedIsoVetoConeSizeEB)(void) const =&setting_type::GetElectronChargedIsoVetoConeSizeEB, float(setting_type::*GetElectronChargedIsoVetoConeSizeEE)(void) const =&setting_type::GetElectronChargedIsoVetoConeSizeEE, float(setting_type::*GetElectronNeutralIsoVetoConeSize)(void) const =&setting_type::GetElectronNeutralIsoVetoConeSize, float(setting_type::*GetElectronPhotonIsoVetoConeSizeEB)(void) const =&setting_type::GetElectronPhotonIsoVetoConeSizeEB, float(setting_type::*GetElectronPhotonIsoVetoConeSizeEE)(void) const =&setting_type::GetElectronPhotonIsoVetoConeSizeEE, float(setting_type::*GetElectronDeltaBetaIsoVetoConeSize)(void) const =&setting_type::GetElectronDeltaBetaIsoVetoConeSize, float(setting_type::*GetElectronChargedIsoPtThreshold)(void) const =&setting_type::GetElectronChargedIsoPtThreshold, float(setting_type::*GetElectronNeutralIsoPtThreshold)(void) const =&setting_type::GetElectronNeutralIsoPtThreshold, float(setting_type::*GetElectronPhotonIsoPtThreshold)(void) const =&setting_type::GetElectronPhotonIsoPtThreshold, float(setting_type::*GetElectronDeltaBetaIsoPtThreshold)(void) const =&setting_type::GetElectronDeltaBetaIsoPtThreshold, float(setting_type::*GetElectronIsoSignalConeSize)(void) const =&setting_type::GetElectronIsoSignalConeSize, float(setting_type::*GetElectronDeltaBetaCorrectionFactor)(void) const =&setting_type::GetElectronDeltaBetaCorrectionFactor, float(setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEB)(void) const =&setting_type::GetLooseElectronIsoPtSumOverPtLowerThresholdEB, float(setting_type::*GetElectronIsoPtSumOverPtLowerThresholdEE)(void) const =&setting_type::GetLooseElectronIsoPtSumOverPtLowerThresholdEE, float(setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEB)(void) const =&setting_type::GetLooseElectronIsoPtSumOverPtUpperThresholdEB, float(setting_type::*GetElectronIsoPtSumOverPtUpperThresholdEE)(void) const =&setting_type::GetLooseElectronIsoPtSumOverPtUpperThresholdEE, float(setting_type::*GetElectronTrackDxyCut)(void) const =&setting_type::GetLooseElectronTrackDxyCut, float(setting_type::*GetElectronTrackDzCut)(void) const =&setting_type::GetLooseElectronTrackDzCut)
Definition: HttValidElectronsProducer.cc:434
Definition: HttValidElectronsProducer.h:303
ElectronIDType
Definition: HttValidElectronsProducer.h:49
virtual void Init(setting_type const &settings, metadata_type &metadata) override
Definition: HttValidElectronsProducer.h:312
virtual std::string GetProducerId() const override
Definition: HttValidElectronsProducer.h:308
virtual bool AdditionalCriteria(KElectron *electron, event_type const &event, product_type &product, setting_type const &settings, metadata_type const &metadata) const override
Definition: HttValidElectronsProducer.cc:131
virtual void Init(setting_type const &settings, metadata_type &metadata) override
Definition: HttValidElectronsProducer.cc:82