CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
TrigObjTnPHistColl::ProbeData Class Reference

#include <TrigObjTnPHistColl.h>

Public Member Functions

void bookHists (const std::string &tagName, DQMStore::IBooker &iBooker, const HistDefs &histDefs)
 
void fill (const trigger::size_type tagKey, const trigger::TriggerEvent &trigEvt, const VarRangeCutColl< trigger::TriggerObject > &probeCuts) const
 
 ProbeData (std::string probeFilter)
 

Private Attributes

HistColl hists_
 
std::string probeFilter_
 

Detailed Description

Definition at line 214 of file TrigObjTnPHistColl.h.

Constructor & Destructor Documentation

TrigObjTnPHistColl::ProbeData::ProbeData ( std::string  probeFilter)
inlineexplicit

Definition at line 216 of file TrigObjTnPHistColl.h.

216 : probeFilter_(std::move(probeFilter)) {}
def move
Definition: eostools.py:511

Member Function Documentation

void TrigObjTnPHistColl::ProbeData::bookHists ( const std::string &  tagName,
DQMStore::IBooker iBooker,
const HistDefs histDefs 
)

Definition at line 377 of file TrigObjTnPHistColl.cc.

379  {
380  hists_.bookHists(iBooker, tagName + "_" + probeFilter_, tagName + "_" + probeFilter_, histDefs);
381 }
void bookHists(DQMStore::IBooker &iBooker, const std::string &name, const std::string &title, const HistDefs &histDefs)
void TrigObjTnPHistColl::ProbeData::fill ( const trigger::size_type  tagKey,
const trigger::TriggerEvent trigEvt,
const VarRangeCutColl< trigger::TriggerObject > &  probeCuts 
) const

Definition at line 383 of file TrigObjTnPHistColl.cc.

References funct::cos(), trigger::TriggerObject::eta(), HLT_FULL_cff::eta1, HLT_FULL_cff::eta2, TrigObjTnPHistColl::getKeys(), trigger::TriggerEvent::getObjects(), ResonanceBuilder::mass, trigger::TriggerObject::phi(), trigger::TriggerObject::pt(), mathSSE::sqrt(), and GlobalPosition_Frontier_DevDB_cff::tag.

385  {
386  auto probeKeys = getKeys(trigEvt, probeFilter_);
387  for (auto probeKey : probeKeys) {
388  const trigger::TriggerObject& probe = trigEvt.getObjects()[probeKey];
389  if (tagKey != probeKey && probeCuts(probe)) {
390  const trigger::TriggerObject& tag = trigEvt.getObjects()[tagKey];
391  auto massFunc = [](float pt1, float eta1, float phi1, float pt2, float eta2, float phi2) {
392  return std::sqrt(2 * pt1 * pt2 * (std::cosh(eta1 - eta2) - std::cos(phi1 - phi2)));
393  };
394  float mass = massFunc(tag.pt(), tag.eta(), tag.phi(), probe.pt(), probe.eta(), probe.phi());
395  hists_.fill(probe, mass);
396  }
397  }
398 }
void fill(const trigger::TriggerObject &probe, float mass) const
static const trigger::Keys getKeys(const trigger::TriggerEvent &trigEvt, const std::string &filterName)
float phi() const
Definition: TriggerObject.h:54
float eta() const
Definition: TriggerObject.h:53
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
T sqrt(T t)
Definition: SSEVec.h:19
Cos< T >::type cos(const T &t)
Definition: Cos.h:22

Member Data Documentation

HistColl TrigObjTnPHistColl::ProbeData::hists_
private

Definition at line 224 of file TrigObjTnPHistColl.h.

std::string TrigObjTnPHistColl::ProbeData::probeFilter_
private

Definition at line 223 of file TrigObjTnPHistColl.h.