CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Static Private Attributes
FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter > Class Template Reference
Inheritance diagram for FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >:
FSQ::BaseHandler

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTConfigProvider &hltConfig, const trigger::TriggerEvent &trgEvent, const edm::TriggerResults &triggerResults, const edm::TriggerNames &triggerNames, float weight) override
 
void book (DQMStore::IBooker &booker) override
 
template<class T >
int count (const edm::Event &iEvent, InputTag &input, StringCutObjectSelector< T > &sel, float weight)
 
void fillSingleObjectPlots (const TInputCandidateType &cand, float weight)
 
std::vector< std::string > findPathAndFilter (const HLTConfigProvider &hltConfig)
 
template<>
void getAndStoreTokens (edm::ConsumesCollector &&iC)
 
template<>
void getAndStoreTokens (edm::ConsumesCollector &&iC)
 
template<>
void getAndStoreTokens (edm::ConsumesCollector &&iC)
 
template<>
void getAndStoreTokens (edm::ConsumesCollector &&iC)
 
void getAndStoreTokens (edm::ConsumesCollector &&iC) override
 
std::vector< TOutputCandidateType > getBestCombination (std::vector< TOutputCandidateType > &cands)
 
template<>
void getFilteredCands (reco::Candidate::LorentzVector *, std::vector< int > &cands, const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTConfigProvider &hltConfig, const trigger::TriggerEvent &trgEvent, float weight)
 
template<>
void getFilteredCands (reco::Candidate::LorentzVector *, std::vector< reco::Candidate::LorentzVector > &cands, const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTConfigProvider &hltConfig, const trigger::TriggerEvent &trgEvent, float weight)
 
template<>
void getFilteredCands (reco::GenParticle *, std::vector< int > &cands, const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTConfigProvider &hltConfig, const trigger::TriggerEvent &trgEvent, float weight)
 
template<>
void getFilteredCands (reco::PFJet *, std::vector< reco::PFJet > &cands, const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTConfigProvider &hltConfig, const trigger::TriggerEvent &trgEvent, float weight)
 
template<>
void getFilteredCands (reco::Track *, std::vector< int > &cands, const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTConfigProvider &hltConfig, const trigger::TriggerEvent &trgEvent, float weight)
 
template<>
void getFilteredCands (reco::Track *, std::vector< int > &cands, const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTConfigProvider &hltConfig, const trigger::TriggerEvent &trgEvent, float weight)
 
void getFilteredCands (TInputCandidateType *, std::vector< TOutputCandidateType > &cands, const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTConfigProvider &hltConfig, const trigger::TriggerEvent &trgEvent, float weight)
 
template<>
void getFilteredCands (trigger::TriggerObject *, std::vector< trigger::TriggerObject > &cands, const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTConfigProvider &hltConfig, const trigger::TriggerEvent &trgEvent, float weight)
 
 HandlerTemplate (const edm::ParameterSet &iConfig, triggerExpression::Data &eventCache)
 
 ~HandlerTemplate () override=default
 
- Public Member Functions inherited from FSQ::BaseHandler
 BaseHandler ()
 
 BaseHandler (const edm::ParameterSet &iConfig, triggerExpression::Data &eventCache)
 
virtual ~BaseHandler ()=default
 

Private Attributes

int m_combinedObjectDimension
 
std::vector< edm::ParameterSetm_combinedObjectDrawables
 
StringCutObjectSelector< std::vector< TOutputCandidateType > > m_combinedObjectSelection
 
StringObjectFunction< std::vector< TOutputCandidateType > > m_combinedObjectSortFunction
 
std::string m_dqmhistolabel
 
std::string m_filterPartialName
 
edm::InputTag m_input
 
bool m_isSetup
 
std::string m_pathPartialName
 
std::map< std::string, std::shared_ptr< StringObjectFunction< std::vector< TOutputCandidateType > > > > m_plottersCombinedObject
 
std::map< std::string, std::shared_ptr< StringObjectFunction< TInputCandidateType > > > m_plottersSingleObject
 
std::map< std::string, int > m_plotterType
 
std::vector< edm::ParameterSetm_singleObjectDrawables
 
StringCutObjectSelector< TInputCandidateType > m_singleObjectSelection
 
std::map< std::string, edm::EDGetTokenm_tokens
 

Static Private Attributes

static const int CombinedObjectPlotter = 1
 
static const int SingleObjectPlotter = 0
 xxx More...
 

Additional Inherited Members

- Public Types inherited from FSQ::BaseHandler
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
- Public Attributes inherited from FSQ::BaseHandler
std::string m_dirname
 
triggerExpression::Datam_eventCache
 
std::unique_ptr< triggerExpression::Evaluatorm_expression
 
std::map< std::string, MonitorElement * > m_histos
 
edm::ParameterSet m_pset
 
std::set< std::string > m_usedPaths
 

Detailed Description

template<class TInputCandidateType, class TOutputCandidateType, SpecialFilters filter = None>
class FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >

Definition at line 109 of file FSQDiJetAve.cc.

Constructor & Destructor Documentation

◆ HandlerTemplate()

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::HandlerTemplate ( const edm::ParameterSet iConfig,
triggerExpression::Data eventCache 
)
inline

Definition at line 134 of file FSQDiJetAve.cc.

135  : BaseHandler(iConfig, eventCache),
136  m_singleObjectSelection(iConfig.getParameter<std::string>("singleObjectsPreselection")),
137  m_combinedObjectSelection(iConfig.getParameter<std::string>("combinedObjectSelection")),
138  m_combinedObjectSortFunction(iConfig.getParameter<std::string>("combinedObjectSortCriteria")) {
139  std::string type = iConfig.getParameter<std::string>("handlerType");
140  if (type != "FromHLT") {
141  m_input = iConfig.getParameter<edm::InputTag>("inputCol");
142  }
143 
144  m_dqmhistolabel = iConfig.getParameter<std::string>("dqmhistolabel");
146  iConfig.getParameter<std::string>("partialFilterName"); // std::string find is used to match filter
147  m_pathPartialName = iConfig.getParameter<std::string>("partialPathName");
148  m_combinedObjectDimension = iConfig.getParameter<int>("combinedObjectDimension");
149  m_combinedObjectDrawables = iConfig.getParameter<std::vector<edm::ParameterSet> >("combinedObjectDrawables");
150  m_singleObjectDrawables = iConfig.getParameter<std::vector<edm::ParameterSet> >("singleObjectDrawables");
151  m_isSetup = false;
152  }

References edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~HandlerTemplate()

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::~HandlerTemplate ( )
overridedefault

Member Function Documentation

◆ analyze()

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
void FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup,
const HLTConfigProvider hltConfig,
const trigger::TriggerEvent trgEvent,
const edm::TriggerResults triggerResults,
const edm::TriggerNames triggerNames,
float  weight 
)
inlineoverridevirtual

Implements FSQ::BaseHandler.

Definition at line 299 of file FSQDiJetAve.cc.

305  {
306  size_t found = 0;
307  for (size_t i = 0; i < triggerNames.size(); ++i) {
308  auto itUsedPaths = m_usedPaths.begin();
309  for (; itUsedPaths != m_usedPaths.end(); ++itUsedPaths) {
310  if (triggerNames.triggerName(i).find(*itUsedPaths) != std::string::npos) {
311  ++found;
312  break;
313  }
314  }
315 
316  if (found == m_usedPaths.size())
317  break;
318  }
319  if (found != m_usedPaths.size()) {
320  edm::LogInfo("FSQDiJetAve") << "One of requested paths not found, skipping event";
321  return;
322  }
324  m_expression->init(*m_eventCache);
325  }
326  if (not(*m_expression)(*m_eventCache))
327  return;
328 
329  /*
330  std::vector<std::string> pathAndFilter = findPathAndFilter(hltConfig);
331 
332  std::string pathFullName = pathAndFilter[0];
333  if (pathFullName == "") {
334  return;
335  }
336  unsigned indexNum = triggerNames.triggerIndex(pathFullName);
337  if(indexNum >= triggerNames.size()){
338  edm::LogError("FSQDiJetAve") << "Problem determining trigger index for " << pathFullName << " " << m_pathPartialName;
339  }
340  if (!triggerResults.accept(indexNum)) return;*/
341 
342  std::vector<TOutputCandidateType> cands;
343  getFilteredCands((TInputCandidateType*)nullptr, cands, iEvent, iSetup, hltConfig, trgEvent, weight);
344 
345  if (cands.empty())
346  return;
347 
348  std::vector<TOutputCandidateType> bestCombinationFromCands = getBestCombination(cands);
349  if (bestCombinationFromCands.empty())
350  return;
351 
352  // plot
353  std::map<std::string, MonitorElement*>::iterator it, itE;
354  it = m_histos.begin();
355  itE = m_histos.end();
356  for (; it != itE; ++it) {
357  if (m_plotterType[it->first] != CombinedObjectPlotter)
358  continue;
359  float val = (*m_plottersCombinedObject[it->first])(bestCombinationFromCands);
360  it->second->Fill(val, weight);
361  }
362  }

References HLT_2018_cff::cands, newFWLiteAna::found, HltComparatorCreateWorkflow::hltConfig, mps_fire::i, iEvent, L1TEGammaOffline_cfi::triggerNames, and heppy_batch::val.

◆ book()

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
void FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::book ( DQMStore::IBooker booker)
inlineoverridevirtual

Implements FSQ::BaseHandler.

Definition at line 154 of file FSQDiJetAve.cc.

154  {
155  if (!m_isSetup) {
156  booker.setCurrentFolder(m_dirname);
157  m_isSetup = true;
158  std::vector<std::vector<edm::ParameterSet>*> todo(2, (std::vector<edm::ParameterSet>*)nullptr);
161  for (size_t ti = 0; ti < todo.size(); ++ti) {
162  for (size_t i = 0; i < todo[ti]->size(); ++i) {
163  std::string histoName = m_dqmhistolabel + "_" + todo[ti]->at(i).template getParameter<std::string>("name");
164  std::string expression = todo[ti]->at(i).template getParameter<std::string>("expression");
165  int bins = todo[ti]->at(i).template getParameter<int>("bins");
166  double rangeLow = todo[ti]->at(i).template getParameter<double>("min");
167  double rangeHigh = todo[ti]->at(i).template getParameter<double>("max");
168  m_histos[histoName] = booker.book1D(histoName, histoName, bins, rangeLow, rangeHigh);
169  m_plotterType[histoName] = ti;
170  if (ti == CombinedObjectPlotter) {
173  std::shared_ptr<StringObjectFunction<std::vector<TOutputCandidateType> > >(func);
174  } else {
175  auto* func = new StringObjectFunction<TInputCandidateType>(expression);
176  m_plottersSingleObject[histoName] = std::shared_ptr<StringObjectFunction<TInputCandidateType> >(func);
177  }
178  }
179  }
180  }
181  }

References trigObjTnPSource_cfi::bins, dqm::implementation::IBooker::book1D(), TrackCollections2monitor_cff::func, HltBtagPostValidation_cff::histoName, mps_fire::i, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and DQMOfflineHeavyIons_cff::todo.

◆ count()

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
template<class T >
int FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::count ( const edm::Event iEvent,
InputTag input,
StringCutObjectSelector< T > &  sel,
float  weight 
)
inline

Definition at line 193 of file FSQDiJetAve.cc.

193  {
194  int ret = 0;
195  Handle<std::vector<T> > hIn;
196  iEvent.getByToken(m_tokens[input.encode()], hIn);
197  if (!hIn.isValid()) {
198  edm::LogError("FSQDiJetAve") << "product not found: " << input.encode();
199  return -1; // return nonsense value
200  }
201  for (size_t i = 0; i < hIn->size(); ++i) {
202  bool preselection = sel(hIn->at(i));
203  if (preselection) {
204  fillSingleObjectPlots(hIn->at(i), weight);
205  ret += 1;
206  }
207  }
208  return ret;
209  }

References mps_fire::i, iEvent, input, edm::HandleBase::isValid(), singleTopDQM_cfi::preselection, runTheMatrix::ret, EgammaValidation_Wenu_cff::sel, and mps_merge::weight.

◆ fillSingleObjectPlots()

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
void FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::fillSingleObjectPlots ( const TInputCandidateType &  cand,
float  weight 
)
inline

Definition at line 212 of file FSQDiJetAve.cc.

212  {
213  std::map<std::string, MonitorElement*>::iterator it, itE;
214  it = m_histos.begin();
215  itE = m_histos.end();
216  for (; it != itE; ++it) {
217  if (m_plotterType[it->first] != SingleObjectPlotter)
218  continue;
219  float val = (*m_plottersSingleObject[it->first])(cand);
220  it->second->Fill(val, weight);
221  }
222  }

References heppy_batch::val.

◆ findPathAndFilter()

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::vector<std::string> FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::findPathAndFilter ( const HLTConfigProvider hltConfig)
inline

Definition at line 257 of file FSQDiJetAve.cc.

257  {
258  std::vector<std::string> ret(2, "");
259  std::string filterFullName = "";
260  std::string pathFullName = "";
261  std::vector<std::string> filtersForThisPath;
262  //int pathIndex = -1;
263  int numPathMatches = 0;
264  int numFilterMatches = 0;
265  for (size_t i = 0; i < hltConfig.size(); ++i) {
266  if (hltConfig.triggerName(i).find(m_pathPartialName) == std::string::npos)
267  continue;
268  pathFullName = hltConfig.triggerName(i);
269  //pathIndex = i;
270  ++numPathMatches;
271  std::vector<std::string> moduleLabels = hltConfig.moduleLabels(i);
272  for (auto& moduleLabel : moduleLabels) {
273  if ("EDFilter" == hltConfig.moduleEDMType(moduleLabel)) {
274  filtersForThisPath.push_back(moduleLabel);
275  if (moduleLabel.find(m_filterPartialName) != std::string::npos) {
276  filterFullName = moduleLabel;
277  ++numFilterMatches;
278  }
279  }
280  }
281  }
282 
283  // LogWarning or LogError?
284  if (numPathMatches != 1) {
285  edm::LogInfo("FSQDiJetAve") << "Problem: found " << numPathMatches << " paths matching " << m_pathPartialName
286  << std::endl;
287  return ret;
288  }
289  ret[0] = pathFullName;
290  if (numFilterMatches != 1) {
291  edm::LogError("FSQDiJetAve") << "Problem: found " << numFilterMatches << " filter matching "
292  << m_filterPartialName << " in path " << m_pathPartialName << std::endl;
293  return ret;
294  }
295  ret[1] = filterFullName;
296  return ret;
297  }

References HltComparatorCreateWorkflow::hltConfig, mps_fire::i, HerwigMaxPtPartonFilter_cfi::moduleLabel, runTheMatrix::ret, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ getAndStoreTokens() [1/5]

Implements FSQ::BaseHandler.

Definition at line 441 of file FSQDiJetAve.cc.

◆ getAndStoreTokens() [2/5]

template<>
void FSQ::HandlerTemplate< reco::Track, int, BestVertexMatching >::getAndStoreTokens ( edm::ConsumesCollector &&  iC)
virtual

Implements FSQ::BaseHandler.

Definition at line 509 of file FSQDiJetAve.cc.

509  {
510  edm::EDGetTokenT<std::vector<reco::Track> > tok = iC.consumes<std::vector<reco::Track> >(m_input);
512 
513  edm::InputTag lVerticesTag = m_pset.getParameter<edm::InputTag>("vtxCollection");
515  m_tokens[lVerticesTag.encode()] = edm::EDGetToken(tok2);
516  }

References edm::InputTag::encode().

◆ getAndStoreTokens() [3/5]

template<>
void FSQ::HandlerTemplate< reco::PFJet, reco::PFJet, ApplyJEC >::getAndStoreTokens ( edm::ConsumesCollector &&  iC)
virtual

Implements FSQ::BaseHandler.

Definition at line 601 of file FSQDiJetAve.cc.

601  {
602  edm::EDGetTokenT<std::vector<reco::PFJet> > tok = iC.consumes<std::vector<reco::PFJet> >(m_input);
604 
605  edm::InputTag jetCorTag = m_pset.getParameter<edm::InputTag>("PFJetCorLabel");
607  m_tokens[jetCorTag.encode()] = edm::EDGetToken(jetcortoken);
608  }

References edm::InputTag::encode().

◆ getAndStoreTokens() [4/5]

template<>
void FSQ::HandlerTemplate< reco::Candidate::LorentzVector, int >::getAndStoreTokens ( edm::ConsumesCollector &&  iC)
virtual

Implements FSQ::BaseHandler.

Definition at line 650 of file FSQDiJetAve.cc.

◆ getAndStoreTokens() [5/5]

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
void FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::getAndStoreTokens ( edm::ConsumesCollector &&  iC)
inlineoverridevirtual

Implements FSQ::BaseHandler.

Definition at line 182 of file FSQDiJetAve.cc.

182  {
183  edm::EDGetTokenT<std::vector<TInputCandidateType> > tok = iC.consumes<std::vector<TInputCandidateType> >(m_input);
185  }

References edm::InputTag::encode().

◆ getBestCombination()

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::vector<TOutputCandidateType> FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::getBestCombination ( std::vector< TOutputCandidateType > &  cands)
inline

Definition at line 364 of file FSQDiJetAve.cc.

364  {
365  int columnSize = cands.size();
366  std::vector<int> currentCombination(m_combinedObjectDimension, 0);
367  std::vector<int> bestCombination(m_combinedObjectDimension, -1);
368 
369  int maxCombinations = 1;
370  int cnt = 0;
371  while (cnt < m_combinedObjectDimension) {
372  cnt += 1;
373  maxCombinations *= columnSize;
374  }
375 
376  cnt = 0;
377  float bestCombinedCandVal = -1;
378  while (cnt < maxCombinations) {
379  cnt += 1;
380 
381  // 1. Check if current combination contains duplicates
382  std::vector<int> currentCombinationCopy(currentCombination);
383  std::vector<int>::iterator it;
384  std::sort(currentCombinationCopy.begin(), currentCombinationCopy.end());
385  it = std::unique(currentCombinationCopy.begin(), currentCombinationCopy.end());
386  currentCombinationCopy.resize(std::distance(currentCombinationCopy.begin(), it));
387  bool duplicatesPresent = currentCombination.size() != currentCombinationCopy.size();
388  // 2. If no duplicates found -
389  // - check if current combination passes the cut
390  // - rank current combination
391  if (!duplicatesPresent) { // no duplicates, we can consider this combined object
392  std::vector<TOutputCandidateType> currentCombinationFromCands;
393  for (int i = 0; i < m_combinedObjectDimension; ++i) {
394  currentCombinationFromCands.push_back(cands.at(currentCombination.at(i)));
395  }
396  bool isOK = m_combinedObjectSelection(currentCombinationFromCands);
397  if (isOK) {
398  float curVal = m_combinedObjectSortFunction(currentCombinationFromCands);
399  // FIXME
400  if (curVal < 0) {
401  edm::LogError("FSQDiJetAve")
402  << "Problem: ranking function returned negative value: " << curVal << std::endl;
403  } else if (curVal > bestCombinedCandVal) {
404  //std::cout << curVal << " " << bestCombinedCandVal << std::endl;
405  bestCombinedCandVal = curVal;
406  bestCombination = currentCombination;
407  }
408  }
409  }
410  // 3. Prepare next combination to test
411  // note to future self: less error prone method with modulo
412  currentCombination.at(m_combinedObjectDimension - 1) += 1; // increase last number
413  int carry = 0;
414  for (int i = m_combinedObjectDimension - 1; i >= 0;
415  --i) { // iterate over all numbers, check if we are out of range
416  currentCombination.at(i) += carry;
417  carry = 0;
418  if (currentCombination.at(i) >= columnSize) {
419  carry = 1;
420  currentCombination.at(i) = 0;
421  }
422  }
423  } // combinations loop ends
424 
425  std::vector<TOutputCandidateType> bestCombinationFromCands;
426  if (!bestCombination.empty() && bestCombination.at(0) >= 0) {
427  for (int i = 0; i < m_combinedObjectDimension; ++i) {
428  bestCombinationFromCands.push_back(cands.at(bestCombination.at(i)));
429  }
430  }
431  return bestCombinationFromCands;
432  }

References HLT_2018_cff::cands, HLT_2018_cff::distance, mps_fire::i, and tier0::unique().

◆ getFilteredCands() [1/8]

template<>
void FSQ::HandlerTemplate< reco::Candidate::LorentzVector, int >::getFilteredCands ( reco::Candidate::LorentzVector ,
std::vector< int > &  cands,
const edm::Event iEvent,
const edm::EventSetup iSetup,
const HLTConfigProvider hltConfig,
const trigger::TriggerEvent trgEvent,
float  weight 
)

Definition at line 655 of file FSQDiJetAve.cc.

662  {
663  cands.clear();
664  cands.push_back(0);
665 
667  iEvent.getByToken(m_tokens[m_input.encode()], hIn);
668  if (!hIn.isValid()) {
669  edm::LogError("FSQDiJetAve") << "product not found: " << m_input.encode();
670  return;
671  }
672  for (auto const& i : *hIn) {
674  if (preselection) {
676  cands.at(0) += 1;
677  }
678  }
679  }

References HLT_2018_cff::cands, mps_fire::i, iEvent, edm::HandleBase::isValid(), singleTopDQM_cfi::preselection, and mps_merge::weight.

◆ getFilteredCands() [2/8]

template<>
void FSQ::HandlerTemplate< reco::Candidate::LorentzVector, reco::Candidate::LorentzVector >::getFilteredCands ( reco::Candidate::LorentzVector ,
std::vector< reco::Candidate::LorentzVector > &  cands,
const edm::Event iEvent,
const edm::EventSetup iSetup,
const HLTConfigProvider hltConfig,
const trigger::TriggerEvent trgEvent,
float  weight 
)

Definition at line 447 of file FSQDiJetAve.cc.

454  {
456  iEvent.getByToken(m_tokens[m_input.encode()], hIn);
457  if (!hIn.isValid()) {
458  edm::LogError("FSQDiJetAve") << "product not found: " << m_input.encode();
459  return;
460  }
461  for (auto const& i : *hIn) {
463  if (preselection) {
465  cands.push_back(i.p4());
466  }
467  }
468  }

References HLT_2018_cff::cands, mps_fire::i, iEvent, edm::HandleBase::isValid(), singleTopDQM_cfi::preselection, and mps_merge::weight.

◆ getFilteredCands() [3/8]

template<>
void FSQ::HandlerTemplate< reco::GenParticle, int >::getFilteredCands ( reco::GenParticle ,
std::vector< int > &  cands,
const edm::Event iEvent,
const edm::EventSetup iSetup,
const HLTConfigProvider hltConfig,
const trigger::TriggerEvent trgEvent,
float  weight 
)

Definition at line 489 of file FSQDiJetAve.cc.

496  {
497  cands.clear();
498  cands.push_back(count<reco::GenParticle>(iEvent, m_input, m_singleObjectSelection, weight));
499  }

References HLT_2018_cff::cands, and iEvent.

◆ getFilteredCands() [4/8]

template<>
void FSQ::HandlerTemplate< reco::PFJet, reco::PFJet, ApplyJEC >::getFilteredCands ( reco::PFJet ,
std::vector< reco::PFJet > &  cands,
const edm::Event iEvent,
const edm::EventSetup iSetup,
const HLTConfigProvider hltConfig,
const trigger::TriggerEvent trgEvent,
float  weight 
)

Definition at line 611 of file FSQDiJetAve.cc.

618  {
619  cands.clear();
620  static const edm::InputTag jetCorTag = m_pset.getParameter<edm::InputTag>("PFJetCorLabel");
622  iEvent.getByToken(m_tokens[jetCorTag.encode()], pfcorrector);
623 
625  iEvent.getByToken(m_tokens[m_input.encode()], hIn);
626 
627  if (!hIn.isValid()) {
628  edm::LogError("FSQDiJetAve") << "product not found: " << m_input.encode();
629  return;
630  }
631 
632  for (auto const& i : *hIn) {
633  double scale = pfcorrector->correction(i);
634  reco::PFJet newPFJet(scale * i.p4(), i.vertex(), i.getSpecific(), i.getJetConstituents());
635 
636  bool preselection = m_singleObjectSelection(newPFJet);
637  if (preselection) {
638  fillSingleObjectPlots(newPFJet, weight);
639  cands.push_back(newPFJet);
640  }
641  }
642  }

References HLT_2018_cff::cands, edm::InputTag::encode(), mps_fire::i, iEvent, edm::HandleBase::isValid(), singleTopDQM_cfi::preselection, and Scenarios_cff::scale.

◆ getFilteredCands() [5/8]

template<>
void FSQ::HandlerTemplate< reco::Track, int >::getFilteredCands ( reco::Track ,
std::vector< int > &  cands,
const edm::Event iEvent,
const edm::EventSetup iSetup,
const HLTConfigProvider hltConfig,
const trigger::TriggerEvent trgEvent,
float  weight 
)

Definition at line 477 of file FSQDiJetAve.cc.

484  {
485  cands.clear();
486  cands.push_back(count<reco::Track>(iEvent, m_input, m_singleObjectSelection, weight));
487  }

References HLT_2018_cff::cands, and iEvent.

◆ getFilteredCands() [6/8]

template<>
void FSQ::HandlerTemplate< reco::Track, int, BestVertexMatching >::getFilteredCands ( reco::Track ,
std::vector< int > &  cands,
const edm::Event iEvent,
const edm::EventSetup iSetup,
const HLTConfigProvider hltConfig,
const trigger::TriggerEvent trgEvent,
float  weight 
)

Definition at line 519 of file FSQDiJetAve.cc.

526  {
527  // this is not elegant, but should be thread safe
528  static const edm::InputTag lVerticesTag = m_pset.getParameter<edm::InputTag>("vtxCollection");
529  static const int lMinNDOF = m_pset.getParameter<int>("minNDOF"); //7
530  static const double lMaxZ = m_pset.getParameter<double>("maxZ"); // 15
531  static const double lMaxDZ = m_pset.getParameter<double>("maxDZ"); // 0.12
532  static const double lMaxDZ2dzsigma = m_pset.getParameter<double>("maxDZ2dzsigma"); // 3
533  static const double lMaxDXY = m_pset.getParameter<double>("maxDXY"); // 0.12
534  static const double lMaxDXY2dxysigma = m_pset.getParameter<double>("maxDXY2dxysigma"); // 3
535 
536  cands.clear();
537  cands.push_back(0);
538 
540  iEvent.getByToken(m_tokens[lVerticesTag.encode()], vertices);
541 
542  //double bestvz=-999.9, bestvx=-999.9, bestvy=-999.9;
543 
544  double dxy, dz, dzsigma, dxysigma;
545  math::XYZPoint vtxPoint(0.0, 0.0, 0.0);
546  double vzErr = 0.0, vxErr = 0.0, vyErr = 0.0;
547 
548  // take first vertex passing the criteria
549  int bestVtx = -1;
550  for (size_t i = 0; i < vertices->size(); ++i) {
551  if (vertices->at(i).ndof() < lMinNDOF)
552  continue;
553  if (fabs(vertices->at(i).z()) > lMaxZ)
554  continue;
555 
556  vtxPoint = vertices->at(i).position();
557  vzErr = vertices->at(i).zError();
558  vxErr = vertices->at(i).xError();
559  vyErr = vertices->at(i).yError();
560  bestVtx = i;
561  break;
562  }
563  if (bestVtx < 0)
564  return;
565  // const reco::Vertex & vtx = vertices->at(bestVtx);
566 
568  iEvent.getByToken(m_tokens[m_input.encode()], hIn);
569  if (!hIn.isValid()) {
570  edm::LogError("FSQDiJetAve") << "product not found: " << m_input.encode();
571  return;
572  }
573 
574  for (auto const& i : *hIn) {
576  continue;
577  dxy = 0.0, dz = 0.0, dxysigma = 0.0, dzsigma = 0.0;
578  dxy = -1. * i.dxy(vtxPoint);
579  dz = i.dz(vtxPoint);
580  dxysigma = sqrt(i.dxyError() * i.dxyError() + vxErr * vyErr);
581  dzsigma = sqrt(i.dzError() * i.dzError() + vzErr * vzErr);
582 
583  if (fabs(dz) > lMaxDZ)
584  continue; // TODO...
585  if (fabs(dz / dzsigma) > lMaxDZ2dzsigma)
586  continue;
587  if (fabs(dxy) > lMaxDXY)
588  continue;
589  if (fabs(dxy / dxysigma) > lMaxDXY2dxysigma)
590  continue;
591 
592  cands.at(0) += 1;
593  } //loop over tracks
594  }

References HLT_2018_cff::cands, PVValHelper::dxy, PVValHelper::dz, edm::InputTag::encode(), mps_fire::i, iEvent, edm::HandleBase::isValid(), mathSSE::sqrt(), and pwdgSkimBPark_cfi::vertices.

◆ getFilteredCands() [7/8]

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
void FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::getFilteredCands ( TInputCandidateType *  ,
std::vector< TOutputCandidateType > &  cands,
const edm::Event iEvent,
const edm::EventSetup iSetup,
const HLTConfigProvider hltConfig,
const trigger::TriggerEvent trgEvent,
float  weight 
)
inline

Definition at line 233 of file FSQDiJetAve.cc.

239  {
241  iEvent.getByToken(m_tokens[m_input.encode()], hIn);
242 
243  if (!hIn.isValid()) {
244  edm::LogError("FSQDiJetAve") << "product not found: " << m_input.encode();
245  return;
246  }
247 
248  for (size_t i = 0; i < hIn->size(); ++i) {
249  bool preselection = m_singleObjectSelection(hIn->at(i));
250  if (preselection) {
251  fillSingleObjectPlots(hIn->at(i), weight);
252  cands.push_back(hIn->at(i));
253  }
254  }
255  }

References HLT_2018_cff::cands, edm::InputTag::encode(), mps_fire::i, iEvent, edm::HandleBase::isValid(), singleTopDQM_cfi::preselection, and mps_merge::weight.

◆ getFilteredCands() [8/8]

template<>
void FSQ::HandlerTemplate< trigger::TriggerObject, trigger::TriggerObject >::getFilteredCands ( trigger::TriggerObject ,
std::vector< trigger::TriggerObject > &  cands,
const edm::Event iEvent,
const edm::EventSetup iSetup,
const HLTConfigProvider hltConfig,
const trigger::TriggerEvent trgEvent,
float  weight 
)

Definition at line 686 of file FSQDiJetAve.cc.

693  {
694  // 1. Find matching path. Inside matchin path find matching filter
695  std::string filterFullName = findPathAndFilter(hltConfig)[1];
696  if (filterFullName.empty()) {
697  return;
698  }
699 
700  // 2. Fetch HLT objects saved by selected filter. Save those fullfilling preselection
701  // objects are saved in cands variable
702  const std::string& process = trgEvent.usedProcessName(); // broken?
703  edm::InputTag hltTag(filterFullName, "", process);
704 
705  const int hltIndex = trgEvent.filterIndex(hltTag);
706  if (hltIndex >= trgEvent.sizeFilters()) {
707  edm::LogInfo("FSQDiJetAve") << "Cannot determine hlt index for |" << filterFullName << "|" << process;
708  return;
709  }
710 
711  const trigger::TriggerObjectCollection& toc(trgEvent.getObjects());
712  const trigger::Keys& khlt = trgEvent.filterKeys(hltIndex);
713 
714  auto kj = khlt.begin();
715 
716  for (; kj != khlt.end(); ++kj) {
717  bool preselection = m_singleObjectSelection(toc[*kj]);
718  if (preselection) {
719  fillSingleObjectPlots(toc[*kj], weight);
720  cands.push_back(toc[*kj]);
721  }
722  }
723  }

References HLT_2018_cff::cands, trigger::TriggerEvent::filterIndex(), trigger::TriggerEvent::filterKeys(), trigger::TriggerEvent::getObjects(), HltComparatorCreateWorkflow::hltConfig, EgHLTOfflineClient_cfi::hltTag, singleTopDQM_cfi::preselection, LaserDQM_cfg::process, trigger::TriggerEvent::sizeFilters(), AlCaHLTBitMon_QueryRunRegistry::string, and trigger::TriggerEvent::usedProcessName().

Member Data Documentation

◆ CombinedObjectPlotter

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
const int FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::CombinedObjectPlotter = 1
staticprivate

Definition at line 125 of file FSQDiJetAve.cc.

◆ m_combinedObjectDimension

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
int FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_combinedObjectDimension
private

Definition at line 115 of file FSQDiJetAve.cc.

◆ m_combinedObjectDrawables

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::vector<edm::ParameterSet> FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_combinedObjectDrawables
private

Definition at line 127 of file FSQDiJetAve.cc.

◆ m_combinedObjectSelection

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
StringCutObjectSelector<std::vector<TOutputCandidateType> > FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_combinedObjectSelection
private

Definition at line 118 of file FSQDiJetAve.cc.

◆ m_combinedObjectSortFunction

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
StringObjectFunction<std::vector<TOutputCandidateType> > FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_combinedObjectSortFunction
private

Definition at line 119 of file FSQDiJetAve.cc.

◆ m_dqmhistolabel

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::string FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_dqmhistolabel
private

Definition at line 111 of file FSQDiJetAve.cc.

◆ m_filterPartialName

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::string FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_filterPartialName
private

Definition at line 113 of file FSQDiJetAve.cc.

◆ m_input

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
edm::InputTag FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_input
private

Definition at line 130 of file FSQDiJetAve.cc.

◆ m_isSetup

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
bool FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_isSetup
private

Definition at line 129 of file FSQDiJetAve.cc.

◆ m_pathPartialName

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::string FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_pathPartialName
private

Definition at line 112 of file FSQDiJetAve.cc.

◆ m_plottersCombinedObject

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::map<std::string, std::shared_ptr<StringObjectFunction<std::vector<TOutputCandidateType> > > > FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_plottersCombinedObject
private

Definition at line 121 of file FSQDiJetAve.cc.

◆ m_plottersSingleObject

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::map<std::string, std::shared_ptr<StringObjectFunction<TInputCandidateType> > > FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_plottersSingleObject
private

Definition at line 122 of file FSQDiJetAve.cc.

◆ m_plotterType

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::map<std::string, int> FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_plotterType
private

Definition at line 126 of file FSQDiJetAve.cc.

◆ m_singleObjectDrawables

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::vector<edm::ParameterSet> FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_singleObjectDrawables
private

Definition at line 128 of file FSQDiJetAve.cc.

◆ m_singleObjectSelection

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
StringCutObjectSelector<TInputCandidateType> FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_singleObjectSelection
private

Definition at line 117 of file FSQDiJetAve.cc.

◆ m_tokens

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
std::map<std::string, edm::EDGetToken> FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::m_tokens
private

Definition at line 131 of file FSQDiJetAve.cc.

◆ SingleObjectPlotter

template<class TInputCandidateType , class TOutputCandidateType , SpecialFilters filter = None>
const int FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::SingleObjectPlotter = 0
staticprivate

xxx

Definition at line 124 of file FSQDiJetAve.cc.

runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:355
trigger::TriggerEvent::sizeFilters
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
mps_fire.i
i
Definition: mps_fire.py:355
StringObjectFunction
Definition: StringObjectFunction.h:16
input
static const std::string input
Definition: EdmProvDump.cc:48
trigger::TriggerEvent::filterKeys
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:118
DQMOfflineHeavyIons_cff.todo
todo
Definition: DQMOfflineHeavyIons_cff.py:112
FSQ::BaseHandler::m_eventCache
triggerExpression::Data * m_eventCache
Definition: FSQDiJetAve.cc:96
edm::EDGetTokenT
Definition: EDGetToken.h:33
mps_merge.weight
weight
Definition: mps_merge.py:88
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
FSQ::HandlerTemplate::m_tokens
std::map< std::string, edm::EDGetToken > m_tokens
Definition: FSQDiJetAve.cc:131
reco::JetCorrector
Definition: JetCorrector.h:35
edm::LogInfo
Definition: MessageLogger.h:254
HLT_2018_cff.distance
distance
Definition: HLT_2018_cff.py:6417
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
edm::Handle
Definition: AssociativeIterator.h:50
FSQ::HandlerTemplate::m_singleObjectSelection
StringCutObjectSelector< TInputCandidateType > m_singleObjectSelection
Definition: FSQDiJetAve.cc:117
FSQ::BaseHandler::BaseHandler
BaseHandler()
FSQ::BaseHandler::m_histos
std::map< std::string, MonitorElement * > m_histos
Definition: FSQDiJetAve.cc:98
FSQ::HandlerTemplate::m_plottersSingleObject
std::map< std::string, std::shared_ptr< StringObjectFunction< TInputCandidateType > > > m_plottersSingleObject
Definition: FSQDiJetAve.cc:122
triggerExpression::Data::configurationUpdated
bool configurationUpdated() const
Definition: TriggerExpressionData.h:137
L1TEGammaOffline_cfi.triggerNames
triggerNames
Definition: L1TEGammaOffline_cfi.py:40
FSQ::HandlerTemplate::m_filterPartialName
std::string m_filterPartialName
Definition: FSQDiJetAve.cc:113
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
singleTopDQM_cfi.preselection
preselection
Definition: singleTopDQM_cfi.py:78
FSQ::HandlerTemplate::m_plottersCombinedObject
std::map< std::string, std::shared_ptr< StringObjectFunction< std::vector< TOutputCandidateType > > > > m_plottersCombinedObject
Definition: FSQDiJetAve.cc:121
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:49
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::View
Definition: CaloClusterFwd.h:14
Scenarios_cff.scale
scale
Definition: Scenarios_cff.py:2186
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
edm::LogError
Definition: MessageLogger.h:183
FSQ::BaseHandler::m_expression
std::unique_ptr< triggerExpression::Evaluator > m_expression
Definition: FSQDiJetAve.cc:95
FSQ::HandlerTemplate::m_singleObjectDrawables
std::vector< edm::ParameterSet > m_singleObjectDrawables
Definition: FSQDiJetAve.cc:128
FSQ::HandlerTemplate::m_combinedObjectSortFunction
StringObjectFunction< std::vector< TOutputCandidateType > > m_combinedObjectSortFunction
Definition: FSQDiJetAve.cc:119
LaserDQM_cfg.process
process
Definition: LaserDQM_cfg.py:3
FSQ::HandlerTemplate::m_isSetup
bool m_isSetup
Definition: FSQDiJetAve.cc:129
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
FSQ::HandlerTemplate::m_combinedObjectDrawables
std::vector< edm::ParameterSet > m_combinedObjectDrawables
Definition: FSQDiJetAve.cc:127
cand
Definition: decayParser.h:34
iEvent
int iEvent
Definition: GenABIO.cc:224
trigger::TriggerEvent::filterIndex
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
Definition: TriggerEvent.h:132
trigger::Keys
std::vector< size_type > Keys
Definition: TriggerTypeDefs.h:19
edm::InputTag::encode
std::string encode() const
Definition: InputTag.cc:159
TrackCollections2monitor_cff.func
func
Definition: TrackCollections2monitor_cff.py:359
edm::EDGetToken
Definition: EDGetToken.h:35
trigger::TriggerEvent::getObjects
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
FSQ::BaseHandler::m_usedPaths
std::set< std::string > m_usedPaths
Definition: FSQDiJetAve.cc:99
FSQ::HandlerTemplate::getBestCombination
std::vector< TOutputCandidateType > getBestCombination(std::vector< TOutputCandidateType > &cands)
Definition: FSQDiJetAve.cc:364
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
type
type
Definition: HCALResponse.h:21
heppy_batch.val
val
Definition: heppy_batch.py:351
FSQ::HandlerTemplate::fillSingleObjectPlots
void fillSingleObjectPlots(const TInputCandidateType &cand, float weight)
Definition: FSQDiJetAve.cc:212
PVValHelper::dxy
Definition: PVValidationHelpers.h:47
tier0.unique
def unique(seq, keepstr=True)
Definition: tier0.py:24
PVValHelper::dz
Definition: PVValidationHelpers.h:50
FSQ::HandlerTemplate::CombinedObjectPlotter
static const int CombinedObjectPlotter
Definition: FSQDiJetAve.cc:125
reco::PFJet
Jets made from PFObjects.
Definition: PFJet.h:20
HLT_2018_cff.cands
cands
Definition: HLT_2018_cff.py:13762
HltBtagPostValidation_cff.histoName
histoName
Definition: HltBtagPostValidation_cff.py:17
FSQ::HandlerTemplate::findPathAndFilter
std::vector< std::string > findPathAndFilter(const HLTConfigProvider &hltConfig)
Definition: FSQDiJetAve.cc:257
trigger::TriggerEvent::usedProcessName
const std::string & usedProcessName() const
getters
Definition: TriggerEvent.h:98
HltComparatorCreateWorkflow.hltConfig
hltConfig
Definition: HltComparatorCreateWorkflow.py:161
FSQ::HandlerTemplate::m_dqmhistolabel
std::string m_dqmhistolabel
Definition: FSQDiJetAve.cc:111
FSQ::HandlerTemplate::SingleObjectPlotter
static const int SingleObjectPlotter
xxx
Definition: FSQDiJetAve.cc:124
FSQ::HandlerTemplate::m_combinedObjectSelection
StringCutObjectSelector< std::vector< TOutputCandidateType > > m_combinedObjectSelection
Definition: FSQDiJetAve.cc:118
EgHLTOfflineClient_cfi.hltTag
hltTag
Definition: EgHLTOfflineClient_cfi.py:9
FSQ::HandlerTemplate::getFilteredCands
void getFilteredCands(TInputCandidateType *, std::vector< TOutputCandidateType > &cands, const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTConfigProvider &hltConfig, const trigger::TriggerEvent &trgEvent, float weight)
Definition: FSQDiJetAve.cc:233
FSQ::BaseHandler::m_dirname
std::string m_dirname
Definition: FSQDiJetAve.cc:97
FSQ::HandlerTemplate::m_combinedObjectDimension
int m_combinedObjectDimension
Definition: FSQDiJetAve.cc:115
trigObjTnPSource_cfi.bins
bins
Definition: trigObjTnPSource_cfi.py:20
FSQ::HandlerTemplate::m_plotterType
std::map< std::string, int > m_plotterType
Definition: FSQDiJetAve.cc:126
HerwigMaxPtPartonFilter_cfi.moduleLabel
moduleLabel
Definition: HerwigMaxPtPartonFilter_cfi.py:4
EgammaValidation_Wenu_cff.sel
sel
Definition: EgammaValidation_Wenu_cff.py:33
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
FSQ::BaseHandler::m_pset
edm::ParameterSet m_pset
Definition: FSQDiJetAve.cc:100
FSQ::HandlerTemplate::m_pathPartialName
std::string m_pathPartialName
Definition: FSQDiJetAve.cc:112
FSQ::HandlerTemplate::m_input
edm::InputTag m_input
Definition: FSQDiJetAve.cc:130
edm::InputTag
Definition: InputTag.h:15
weight
Definition: weight.py:1
pwdgSkimBPark_cfi.vertices
vertices
Definition: pwdgSkimBPark_cfi.py:7