CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
HLTScoutingPFProducer Class Reference

#include <HLTrigger/JetMET/plugins/HLTScoutingPFProducer.cc>

Inheritance diagram for HLTScoutingPFProducer:
edm::global::EDProducer<> edm::global::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 HLTScoutingPFProducer (const edm::ParameterSet &)
 
 ~HLTScoutingPFProducer () override
 
- Public Member Functions inherited from edm::global::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::global::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void produce (edm::StreamID sid, edm::Event &iEvent, edm::EventSetup const &setup) const final
 

Private Attributes

const bool doCandidates_
 
const bool doCandIndsForJets_
 
const bool doJetTags_
 
const bool doMet_
 
const bool doTrackVars_
 
const int mantissaPrecision_
 
const edm::EDGetTokenT< reco::PFMETCollectionmetCollection_
 
const edm::EDGetTokenT< reco::PFCandidateCollectionpfCandidateCollection_
 
const double pfCandidateEtaCut_
 
const double pfCandidatePtCut_
 
const edm::EDGetTokenT< reco::PFJetCollectionpfJetCollection_
 
const double pfJetEtaCut_
 
const double pfJetPtCut_
 
const edm::EDGetTokenT< reco::JetTagCollectionpfJetTagCollection_
 
const bool relativeTrackVars_
 
const edm::EDGetTokenT< double > rho_
 
const edm::EDGetTokenT< reco::VertexCollectionvertexCollection_
 

Additional Inherited Members

- Public Types inherited from edm::global::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Description: Producer for ScoutingPFJets from reco::PFJet objects, ScoutingVertexs from reco::Vertexs and ScoutingParticles from reco::PFCandidates

Definition at line 46 of file HLTScoutingPFProducer.cc.

Constructor & Destructor Documentation

◆ HLTScoutingPFProducer()

HLTScoutingPFProducer::HLTScoutingPFProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 80 of file HLTScoutingPFProducer.cc.

81  : pfJetCollection_(consumes(iConfig.getParameter<edm::InputTag>("pfJetCollection"))),
82  pfJetTagCollection_(consumes(iConfig.getParameter<edm::InputTag>("pfJetTagCollection"))),
83  pfCandidateCollection_(consumes(iConfig.getParameter<edm::InputTag>("pfCandidateCollection"))),
84  vertexCollection_(consumes(iConfig.getParameter<edm::InputTag>("vertexCollection"))),
85  metCollection_(consumes(iConfig.getParameter<edm::InputTag>("metCollection"))),
86  rho_(consumes(iConfig.getParameter<edm::InputTag>("rho"))),
87  pfJetPtCut_(iConfig.getParameter<double>("pfJetPtCut")),
88  pfJetEtaCut_(iConfig.getParameter<double>("pfJetEtaCut")),
89  pfCandidatePtCut_(iConfig.getParameter<double>("pfCandidatePtCut")),
90  pfCandidateEtaCut_(iConfig.getParameter<double>("pfCandidateEtaCut")),
91  mantissaPrecision_(iConfig.getParameter<int>("mantissaPrecision")),
92  doJetTags_(iConfig.getParameter<bool>("doJetTags")),
93  doCandidates_(iConfig.getParameter<bool>("doCandidates")),
94  doMet_(iConfig.getParameter<bool>("doMet")),
95  doTrackVars_(iConfig.getParameter<bool>("doTrackVars")),
96  relativeTrackVars_(iConfig.getParameter<bool>("relativeTrackVars")),
97  doCandIndsForJets_(iConfig.getParameter<bool>("doCandIndsForJets")) {
98  //register products
99  produces<Run3ScoutingPFJetCollection>();
100  produces<Run3ScoutingParticleCollection>();
101  produces<double>("rho");
102  produces<double>("pfMetPt");
103  produces<double>("pfMetPhi");
104 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const edm::EDGetTokenT< reco::PFMETCollection > metCollection_
const edm::EDGetTokenT< reco::PFCandidateCollection > pfCandidateCollection_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::EDGetTokenT< reco::VertexCollection > vertexCollection_
const edm::EDGetTokenT< reco::PFJetCollection > pfJetCollection_
const edm::EDGetTokenT< reco::JetTagCollection > pfJetTagCollection_
const edm::EDGetTokenT< double > rho_

◆ ~HLTScoutingPFProducer()

HLTScoutingPFProducer::~HLTScoutingPFProducer ( )
overridedefault

Member Function Documentation

◆ fillDescriptions()

void HLTScoutingPFProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 307 of file HLTScoutingPFProducer.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

307  {
309  desc.add<edm::InputTag>("pfJetCollection", edm::InputTag("hltAK4PFJets"));
310  desc.add<edm::InputTag>("pfJetTagCollection", edm::InputTag("hltDeepCombinedSecondaryVertexBJetTagsPF"));
311  desc.add<edm::InputTag>("pfCandidateCollection", edm::InputTag("hltParticleFlow"));
312  desc.add<edm::InputTag>("vertexCollection", edm::InputTag("hltPixelVertices"));
313  desc.add<edm::InputTag>("metCollection", edm::InputTag("hltPFMETProducer"));
314  desc.add<edm::InputTag>("rho", edm::InputTag("hltFixedGridRhoFastjetAll"));
315  desc.add<double>("pfJetPtCut", 20.0);
316  desc.add<double>("pfJetEtaCut", 3.0);
317  desc.add<double>("pfCandidatePtCut", 0.6);
318  desc.add<double>("pfCandidateEtaCut", 5.0);
319  desc.add<int>("mantissaPrecision", 10)->setComment("default float16, change to 23 for float32");
320  desc.add<bool>("doJetTags", true);
321  desc.add<bool>("doCandidates", true);
322  desc.add<bool>("doMet", true);
323  desc.add<bool>("doTrackVars", true);
324  desc.add<bool>("relativeTrackVars", true);
325  desc.add<bool>("doCandIndsForJets", false);
326  descriptions.addWithDefaultLabel(desc);
327 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)

◆ produce()

void HLTScoutingPFProducer::produce ( edm::StreamID  sid,
edm::Event iEvent,
edm::EventSetup const &  setup 
) const
finalprivatevirtual

Implements edm::global::EDProducerBase.

Definition at line 109 of file HLTScoutingPFProducer.cc.

References funct::abs(), reco::deltaR2(), doCandidates_, doCandIndsForJets_, doJetTags_, doMet_, doTrackVars_, PVValHelper::dxy, PVValHelper::dz, Exception, iEvent, metsig::jet, btagbtvdeep::lost_inner_hits_from_pfcand(), mantissaPrecision_, susyDQM_cfi::metCollection, metCollection_, eostools::move(), HLT_2023v12_cff::pfCandidateCollection, pfCandidateCollection_, pfCandidateEtaCut_, pfCandidatePtCut_, ExoticaDQM_cfi::pfJetCollection, pfJetCollection_, pfJetEtaCut_, pfJetPtCut_, HLT_2023v12_cff::pfJetTagCollection, pfJetTagCollection_, conifer::pow(), quality, btagbtvdeep::quality_from_pfcand(), MiniFloatConverter::reduceMantissaToNbitsRounding(), relativeTrackVars_, rho, rho_, makeGlobalPositionRcd_cfg::tag, spclusmultinvestigator_cfi::vertexCollection, vertexCollection_, and L1BJetProducer_cff::vtx.

109  {
110  using namespace edm;
111 
112  //get vertices
114  auto outVertices = std::make_unique<Run3ScoutingVertexCollection>();
115  if (iEvent.getByToken(vertexCollection_, vertexCollection)) {
116  for (auto const &vtx : *vertexCollection) {
123  vtx.tracksSize(),
125  vtx.ndof(),
126  vtx.isValid());
127  }
128  }
129 
130  //get rho
132  auto outRho = std::make_unique<double>(-999);
133  if (iEvent.getByToken(rho_, rho)) {
134  *outRho = *rho;
135  }
136 
137  //get MET
139  auto outMetPt = std::make_unique<double>(-999);
140  auto outMetPhi = std::make_unique<double>(-999);
141  if (doMet_ && iEvent.getByToken(metCollection_, metCollection)) {
142  outMetPt = std::make_unique<double>(metCollection->front().pt());
143  outMetPhi = std::make_unique<double>(metCollection->front().phi());
144  }
145 
146  //get PF candidates
148  auto outPFCandidates = std::make_unique<Run3ScoutingParticleCollection>();
150  for (auto const &cand : *pfCandidateCollection) {
151  if (cand.pt() > pfCandidatePtCut_ && std::abs(cand.eta()) < pfCandidateEtaCut_) {
152  int vertex_index = -1;
153  int index_counter = 0;
154  double dr2 = 0.0001;
155  for (auto const &vtx : *outVertices) {
156  double tmp_dr2 = pow(vtx.x() - cand.vx(), 2) + pow(vtx.y() - cand.vy(), 2) + pow(vtx.z() - cand.vz(), 2);
157  if (tmp_dr2 < dr2) {
158  dr2 = tmp_dr2;
159  vertex_index = index_counter;
160  }
161  if (dr2 == 0.0)
162  break;
163  ++index_counter;
164  }
165  float normchi2{0}, dz{0}, dxy{0}, dzError{0}, dxyError{0}, trk_pt{0}, trk_eta{0}, trk_phi{0};
166  uint8_t lostInnerHits{0}, quality{0};
167  if (doTrackVars_) {
168  const auto *trk = cand.bestTrack();
169  if (trk != nullptr) {
173  if (relativeTrackVars_) {
177  } else {
181  }
182  if (not vertexCollection->empty()) {
183  const reco::Vertex &pv = (*vertexCollection)[0];
184 
185  dz = trk->dz(pv.position());
188 
189  dxy = trk->dxy(pv.position());
192  }
193  } else {
195  }
196  }
200  cand.pdgId(),
201  vertex_index,
202  normchi2,
203  dz,
204  dxy,
205  dzError,
206  dxyError,
207  lostInnerHits,
208  quality,
209  trk_pt,
210  trk_eta,
211  trk_phi,
213  }
214  }
215  }
216 
217  //get PF jets
219  auto outPFJets = std::make_unique<Run3ScoutingPFJetCollection>();
220  if (iEvent.getByToken(pfJetCollection_, pfJetCollection)) {
221  //get PF jet tags
223  bool haveJetTags = false;
225  haveJetTags = true;
226  }
227 
228  for (auto const &jet : *pfJetCollection) {
229  if (jet.pt() < pfJetPtCut_ || std::abs(jet.eta()) > pfJetEtaCut_)
230  continue;
231  //find the jet tag corresponding to the jet
232  float tagValue = -20;
233  float minDR2 = 0.01;
234  if (haveJetTags) {
235  for (auto const &tag : *pfJetTagCollection) {
236  float dR2 = reco::deltaR2(jet, *(tag.first));
237  if (dR2 < minDR2) {
238  minDR2 = dR2;
239  tagValue = tag.second;
240  }
241  }
242  }
243  //get the PF constituents of the jet
244  std::vector<int> candIndices;
246  for (auto const &cand : jet.getPFConstituents()) {
247  if (not(cand.isNonnull() and cand.isAvailable())) {
248  throw cms::Exception("HLTScoutingPFProducer")
249  << "invalid reference to reco::PFCandidate from reco::PFJet::getPFConstituents()";
250  }
251  if (cand->pt() > pfCandidatePtCut_ && std::abs(cand->eta()) < pfCandidateEtaCut_) {
252  //search for the candidate in the collection
253  float minDR2 = 0.0001;
254  int matchIndex = -1;
255  int outIndex = 0;
256  for (auto &outCand : *outPFCandidates) {
257  auto const dR2 = reco::deltaR2(*cand, outCand);
258  if (dR2 < minDR2) {
259  minDR2 = dR2;
260  matchIndex = outIndex;
261  }
262  if (minDR2 == 0) {
263  break;
264  }
265  outIndex++;
266  }
267  candIndices.push_back(matchIndex);
268  }
269  }
270  }
271  outPFJets->emplace_back(
284  jet.chargedHadronMultiplicity(),
285  jet.neutralHadronMultiplicity(),
286  jet.photonMultiplicity(),
287  jet.electronMultiplicity(),
288  jet.muonMultiplicity(),
289  jet.HFHadronMultiplicity(),
290  jet.HFEMMultiplicity(),
294  candIndices);
295  }
296  }
297 
298  //put output
299  iEvent.put(std::move(outPFCandidates));
300  iEvent.put(std::move(outPFJets));
301  iEvent.put(std::move(outRho), "rho");
302  iEvent.put(std::move(outMetPt), "pfMetPt");
303  iEvent.put(std::move(outMetPhi), "pfMetPhi");
304 }
float quality_from_pfcand(const reco::PFCandidate &pfcand)
const edm::EDGetTokenT< reco::PFMETCollection > metCollection_
constexpr int pow(int x)
Definition: conifer.h:24
const edm::EDGetTokenT< reco::PFCandidateCollection > pfCandidateCollection_
const edm::EDGetTokenT< reco::VertexCollection > vertexCollection_
string quality
int iEvent
Definition: GenABIO.cc:224
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const edm::EDGetTokenT< reco::PFJetCollection > pfJetCollection_
const edm::EDGetTokenT< reco::JetTagCollection > pfJetTagCollection_
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16
const edm::EDGetTokenT< double > rho_
float lost_inner_hits_from_pfcand(const reco::PFCandidate &pfcand)
static float reduceMantissaToNbitsRounding(const float &f)
Definition: libminifloat.h:79
HLT enums.
def move(src, dest)
Definition: eostools.py:511

Member Data Documentation

◆ doCandidates_

const bool HLTScoutingPFProducer::doCandidates_
private

Definition at line 70 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ doCandIndsForJets_

const bool HLTScoutingPFProducer::doCandIndsForJets_
private

Definition at line 74 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ doJetTags_

const bool HLTScoutingPFProducer::doJetTags_
private

Definition at line 69 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ doMet_

const bool HLTScoutingPFProducer::doMet_
private

Definition at line 71 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ doTrackVars_

const bool HLTScoutingPFProducer::doTrackVars_
private

Definition at line 72 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ mantissaPrecision_

const int HLTScoutingPFProducer::mantissaPrecision_
private

Definition at line 67 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ metCollection_

const edm::EDGetTokenT<reco::PFMETCollection> HLTScoutingPFProducer::metCollection_
private

Definition at line 60 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ pfCandidateCollection_

const edm::EDGetTokenT<reco::PFCandidateCollection> HLTScoutingPFProducer::pfCandidateCollection_
private

Definition at line 58 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ pfCandidateEtaCut_

const double HLTScoutingPFProducer::pfCandidateEtaCut_
private

Definition at line 66 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ pfCandidatePtCut_

const double HLTScoutingPFProducer::pfCandidatePtCut_
private

Definition at line 65 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ pfJetCollection_

const edm::EDGetTokenT<reco::PFJetCollection> HLTScoutingPFProducer::pfJetCollection_
private

Definition at line 56 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ pfJetEtaCut_

const double HLTScoutingPFProducer::pfJetEtaCut_
private

Definition at line 64 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ pfJetPtCut_

const double HLTScoutingPFProducer::pfJetPtCut_
private

Definition at line 63 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ pfJetTagCollection_

const edm::EDGetTokenT<reco::JetTagCollection> HLTScoutingPFProducer::pfJetTagCollection_
private

Definition at line 57 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ relativeTrackVars_

const bool HLTScoutingPFProducer::relativeTrackVars_
private

Definition at line 73 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ rho_

const edm::EDGetTokenT<double> HLTScoutingPFProducer::rho_
private

Definition at line 61 of file HLTScoutingPFProducer.cc.

Referenced by produce().

◆ vertexCollection_

const edm::EDGetTokenT<reco::VertexCollection> HLTScoutingPFProducer::vertexCollection_
private

Definition at line 59 of file HLTScoutingPFProducer.cc.

Referenced by produce().