CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1TPFProducer Class Reference
Inheritance diagram for L1TPFProducer:
edm::stream::EDProducer<>

Public Member Functions

 L1TPFProducer (const edm::ParameterSet &)
 
 ~L1TPFProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Member Functions

void addUInt (unsigned int value, std::string iLabel, edm::Event &iEvent)
 
void beginStream (edm::StreamID) override
 
void produce (edm::Event &, const edm::EventSetup &) override
 

Private Attributes

edm::ParameterSet config_
 
int debug_
 
float debugEta_
 
float debugPhi_
 
float debugR_
 
std::vector< edm::EDGetTokenT< l1t::PFClusterCollection > > emCands_
 
float emPtCut_
 
edm::EDGetTokenT< std::vector< l1t::TkPrimaryVertex > > extTkVtx_
 
std::unique_ptr< l1tpf_impl::COEFilefRegionCOE_
 
FILE * fRegionDump_
 
std::vector< edm::EDGetTokenT< l1t::PFClusterCollection > > hadCands_
 
float hadPtCut_
 
bool hasTracks_
 
std::unique_ptr< l1tpf_impl::PFAlgoBasel1pfalgo_
 
std::unique_ptr< l1tpf_impl::PUAlgoBasel1pualgo_
 
l1tpf_impl::RegionMapper l1regions_
 
edm::EDGetTokenT< l1t::MuonBxCollectionmuCands_
 
unsigned int neventscoemax_
 
unsigned int neventsproduced_
 
const std::string regionCOEName_
 
const std::string regionDumpName_
 
edm::EDGetTokenT< l1t::PFTrackCollectiontkCands_
 
edm::EDGetTokenT< l1t::TkMuonCollectiontkMuCands_
 
edm::EDGetTokenT< math::XYZPointFTokGenOrigin_
 
float trkMaxChi2_
 
unsigned trkMinStubs_
 
float trkPt_
 
bool useStandaloneMuons_
 
bool useTrackerMuons_
 
l1tpf_impl::PUAlgoBase::VertexAlgo vtxAlgo_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 35 of file L1TPFProducer.cc.

Constructor & Destructor Documentation

◆ L1TPFProducer()

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

Definition at line 85 of file L1TPFProducer.cc.

86  : config_(iConfig),
87  debug_(iConfig.getUntrackedParameter<int>("debug", 0)),
88  useStandaloneMuons_(iConfig.getParameter<bool>("useStandaloneMuons")),
89  useTrackerMuons_(iConfig.getParameter<bool>("useTrackerMuons")),
90  hasTracks_(!iConfig.getParameter<edm::InputTag>("tracks").label().empty()),
91  tkCands_(hasTracks_ ? consumes<l1t::PFTrackCollection>(iConfig.getParameter<edm::InputTag>("tracks"))
92  : edm::EDGetTokenT<l1t::PFTrackCollection>()),
93  trkPt_(iConfig.getParameter<double>("trkPtCut")),
94  trkMaxChi2_(iConfig.getParameter<double>("trkMaxChi2")),
95  trkMinStubs_(iConfig.getParameter<unsigned>("trkMinStubs")),
96  muCands_(consumes<l1t::MuonBxCollection>(iConfig.getParameter<edm::InputTag>("muons"))),
97  tkMuCands_(consumes<l1t::TkMuonCollection>(iConfig.getParameter<edm::InputTag>("tkMuons"))),
98  emPtCut_(iConfig.getParameter<double>("emPtCut")),
99  hadPtCut_(iConfig.getParameter<double>("hadPtCut")),
100  l1regions_(iConfig),
101  l1pfalgo_(nullptr),
102  l1pualgo_(nullptr),
103  regionDumpName_(iConfig.getUntrackedParameter<std::string>("dumpFileName", "")),
104  regionCOEName_(iConfig.getUntrackedParameter<std::string>("coeFileName", "")),
105  fRegionDump_(nullptr),
106  fRegionCOE_(nullptr),
107  neventscoemax_(iConfig.getUntrackedParameter<unsigned int>("neventscoemax_", 0)),
108  neventsproduced_(0),
109  debugEta_(iConfig.getUntrackedParameter<double>("debugEta", 0)),
110  debugPhi_(iConfig.getUntrackedParameter<double>("debugPhi", 0)),
111  debugR_(iConfig.getUntrackedParameter<double>("debugR", -1)) {
112  produces<l1t::PFCandidateCollection>("PF");
113  produces<l1t::PFCandidateCollection>("Puppi");
114 
115  produces<l1t::PFCandidateCollection>("EmCalo");
116  produces<l1t::PFCandidateCollection>("Calo");
117  produces<l1t::PFCandidateCollection>("TK");
118  produces<l1t::PFCandidateCollection>("TKVtx");
119 
120  produces<float>("z0");
121 
122  for (const auto& tag : iConfig.getParameter<std::vector<edm::InputTag>>("emClusters")) {
123  emCands_.push_back(consumes<l1t::PFClusterCollection>(tag));
124  }
125  for (const auto& tag : iConfig.getParameter<std::vector<edm::InputTag>>("hadClusters")) {
126  hadCands_.push_back(consumes<l1t::PFClusterCollection>(tag));
127  }
128 
129  const std::string& algo = iConfig.getParameter<std::string>("pfAlgo");
130  if (algo == "PFAlgo3") {
131  l1pfalgo_ = std::make_unique<l1tpf_impl::PFAlgo3>(iConfig);
132  } else if (algo == "PFAlgo2HGC") {
133  l1pfalgo_ = std::make_unique<l1tpf_impl::PFAlgo2HGC>(iConfig);
134  } else if (algo == "BitwisePFAlgo") {
135  l1pfalgo_ = std::make_unique<l1tpf_impl::BitwisePFAlgo>(iConfig);
136  } else
137  throw cms::Exception("Configuration", "Unsupported PFAlgo");
138 
139  const std::string& pualgo = iConfig.getParameter<std::string>("puAlgo");
140  if (pualgo == "Puppi") {
141  l1pualgo_ = std::make_unique<l1tpf_impl::PuppiAlgo>(iConfig);
142  } else if (pualgo == "LinearizedPuppi") {
143  l1pualgo_ = std::make_unique<l1tpf_impl::LinearizedPuppiAlgo>(iConfig);
144  } else
145  throw cms::Exception("Configuration", "Unsupported PUAlgo");
146 
147  std::string vtxAlgo = iConfig.getParameter<std::string>("vtxAlgo");
148  if (vtxAlgo == "TP")
150  else if (vtxAlgo == "old")
152  else if (vtxAlgo == "external") {
154  const std::string& vtxFormat = iConfig.getParameter<std::string>("vtxFormat");
155  if (vtxFormat == "TkPrimaryVertex") {
156  extTkVtx_ = consumes<std::vector<l1t::TkPrimaryVertex>>(iConfig.getParameter<edm::InputTag>("vtxCollection"));
157  } else
158  throw cms::Exception("Configuration") << "Unsupported vtxFormat " << vtxFormat << "\n";
159  } else
160  throw cms::Exception("Configuration") << "Unsupported vtxAlgo " << vtxAlgo << "\n";
161 
162  for (const std::string& label : l1pualgo_->puGlobalNames()) {
163  produces<float>(label);
164  }
165 
166  if (!regionDumpName_.empty()) {
167  TokGenOrigin_ = consumes<math::XYZPointF>(iConfig.getParameter<edm::InputTag>("genOrigin"));
168  }
169  for (int tot = 0; tot <= 1; ++tot) {
170  for (int i = 0; i < l1tpf_impl::Region::n_input_types; ++i) {
171  produces<unsigned int>(std::string(tot ? "totNL1" : "maxNL1") + l1tpf_impl::Region::inputTypeName(i));
172  }
173  for (int i = 0; i < l1tpf_impl::Region::n_output_types; ++i) {
174  produces<unsigned int>(std::string(tot ? "totNL1PF" : "maxNL1PF") + l1tpf_impl::Region::outputTypeName(i));
175  produces<unsigned int>(std::string(tot ? "totNL1Puppi" : "maxNL1Puppi") + l1tpf_impl::Region::outputTypeName(i));
176  }
177  }
178  for (int i = 0; i < l1tpf_impl::Region::n_input_types; ++i) {
179  produces<std::vector<unsigned>>(std::string("vecNL1") + l1tpf_impl::Region::inputTypeName(i));
180  }
181  for (int i = 0; i < l1tpf_impl::Region::n_output_types; ++i) {
182  produces<std::vector<unsigned>>(std::string("vecNL1PF") + l1tpf_impl::Region::outputTypeName(i));
183  produces<std::vector<unsigned>>(std::string("vecNL1Puppi") + l1tpf_impl::Region::outputTypeName(i));
184  }
185 }

References emCands_, Exception, l1tpf_impl::PUAlgoBase::External, extTkVtx_, edm::ParameterSet::getParameter(), hadCands_, mps_fire::i, l1tpf_impl::Region::inputTypeName(), l1pfalgo_, l1pualgo_, label, l1tpf_impl::Region::n_input_types, l1tpf_impl::Region::n_output_types, l1tpf_impl::PUAlgoBase::Old, l1tpf_impl::Region::outputTypeName(), regionDumpName_, AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::tag, TokGenOrigin_, l1tpf_impl::PUAlgoBase::TP, l1ParticleFlow_cff::vtxAlgo, vtxAlgo_, and l1ParticleFlow_cff::vtxFormat.

◆ ~L1TPFProducer()

L1TPFProducer::~L1TPFProducer ( )
override

Definition at line 187 of file L1TPFProducer.cc.

187  {
188  // do anything here that needs to be done at desctruction time
189  // (e.g. close files, deallocate resources etc.)
190  if (fRegionDump_)
191  fclose(fRegionDump_);
192  if (fRegionCOE_)
193  fRegionCOE_->close();
194 }

References fRegionCOE_, and fRegionDump_.

Member Function Documentation

◆ addUInt()

void L1TPFProducer::addUInt ( unsigned int  value,
std::string  iLabel,
edm::Event iEvent 
)
private

Definition at line 394 of file L1TPFProducer.cc.

394  {
395  iEvent.put(std::make_unique<unsigned>(value), iLabel);
396 }

References iEvent.

Referenced by produce().

◆ beginStream()

void L1TPFProducer::beginStream ( edm::StreamID  id)
overrideprivate

Definition at line 196 of file L1TPFProducer.cc.

196  {
197  if (!regionDumpName_.empty()) {
198  if (id == 0) {
199  fRegionDump_ = fopen(regionDumpName_.c_str(), "wb");
200  } else {
201  edm::LogWarning("L1TPFProducer")
202  << "Job running with multiple streams, but dump file will have only events on stream zero.";
203  }
204  }
205  if (!regionCOEName_.empty()) {
206  if (id == 0) {
207  fRegionCOE_ = std::make_unique<l1tpf_impl::COEFile>(config_);
208  } else {
209  edm::LogWarning("L1TPFProducer")
210  << "Job running with multiple streams, but COE file will dump only events on stream zero.";
211  }
212  }
213 }

References config_, fRegionCOE_, fRegionDump_, regionCOEName_, and regionDumpName_.

◆ produce()

void L1TPFProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

---— READ TRACKS -—

---— READ MUONS -— ----— first check that not more than one version of muons (standaloneMu or trackerMu) is set to be used in l1pflow

Definition at line 216 of file L1TPFProducer.cc.

216  {
217  // clear the regions also at the beginning, in case one event didn't complete but the job continues on
218  l1regions_.clear();
219 
221  if (hasTracks_) {
223  iEvent.getByToken(tkCands_, htracks);
224  const auto& tracks = *htracks;
225  for (unsigned int itk = 0, ntk = tracks.size(); itk < ntk; ++itk) {
226  const auto& tk = tracks[itk];
227  // adding objects to PF
228  if (debugR_ > 0 && deltaR(tk.eta(), tk.phi(), debugEta_, debugPhi_) > debugR_)
229  continue;
230  if (tk.pt() > trkPt_ && tk.nStubs() >= trkMinStubs_ && tk.normalizedChi2() < trkMaxChi2_) {
231  l1regions_.addTrack(tk, l1t::PFTrackRef(htracks, itk));
232  }
233  }
234  }
235 
239  throw cms::Exception(
240  "Configuration",
241  "setting useStandaloneMuons=True && useTrackerMuons=True is not to be done, as it would duplicate all muons\n");
242  }
243 
244  if (useStandaloneMuons_) {
246  iEvent.getByToken(muCands_, muons);
247  for (auto it = muons->begin(0), ed = muons->end(0); it != ed; ++it) {
248  const l1t::Muon& mu = *it;
249  if (debugR_ > 0 && deltaR(mu.eta(), mu.phi(), debugEta_, debugPhi_) > debugR_)
250  continue;
252  }
253  }
254 
255  if (useTrackerMuons_) {
257  iEvent.getByToken(tkMuCands_, muons);
258  for (auto it = muons->begin(), ed = muons->end(); it != ed; ++it) {
259  const l1t::TkMuon& mu = *it;
260  if (debugR_ > 0 && deltaR(mu.eta(), mu.phi(), debugEta_, debugPhi_) > debugR_)
261  continue;
262  l1regions_.addMuon(mu); // FIXME add a l1t::PFCandidate::MuonRef
263  }
264  }
265 
266  // ------ READ CALOS -----
268  for (const auto& tag : emCands_) {
269  iEvent.getByToken(tag, caloHandle);
270  const auto& calos = *caloHandle;
271  for (unsigned int ic = 0, nc = calos.size(); ic < nc; ++ic) {
272  const auto& calo = calos[ic];
273  if (debugR_ > 0 && deltaR(calo.eta(), calo.phi(), debugEta_, debugPhi_) > debugR_)
274  continue;
275  if (calo.pt() > emPtCut_)
276  l1regions_.addEmCalo(calo, l1t::PFClusterRef(caloHandle, ic));
277  }
278  }
279  for (const auto& tag : hadCands_) {
280  iEvent.getByToken(tag, caloHandle);
281  const auto& calos = *caloHandle;
282  for (unsigned int ic = 0, nc = calos.size(); ic < nc; ++ic) {
283  const auto& calo = calos[ic];
284  if (debugR_ > 0 && deltaR(calo.eta(), calo.phi(), debugEta_, debugPhi_) > debugR_)
285  continue;
286  if (calo.pt() > hadPtCut_)
287  l1regions_.addCalo(calo, l1t::PFClusterRef(caloHandle, ic));
288  }
289  }
290 
291  // First, get a copy of the discretized and corrected inputs, and write them out
292  iEvent.put(l1regions_.fetchCalo(/*ptmin=*/0.1, /*em=*/true), "EmCalo");
293  iEvent.put(l1regions_.fetchCalo(/*ptmin=*/0.1, /*em=*/false), "Calo");
294  iEvent.put(l1regions_.fetchTracks(/*ptmin=*/0.0, /*fromPV=*/false), "TK");
295  if (fRegionDump_) {
296  uint32_t run = iEvent.id().run(), lumi = iEvent.id().luminosityBlock();
297  uint64_t event = iEvent.id().event();
298  fwrite(&run, sizeof(uint32_t), 1, fRegionDump_);
299  fwrite(&lumi, sizeof(uint32_t), 1, fRegionDump_);
300  fwrite(&event, sizeof(uint64_t), 1, fRegionDump_);
302  }
303 
304  // Then save the regions to the COE file
305  // Do it here because there is some sorting going on in a later function
306  if (fRegionCOE_ && fRegionCOE_->is_open() && neventsproduced_ < neventscoemax_) {
307  std::vector<l1tpf_impl::Region> regions = l1regions_.regions();
308  fRegionCOE_->writeTracksToFile(regions, neventsproduced_ == 0);
309  }
311 
312  // Then do the vertexing, and save it out
313  float z0;
315  z0 = 0;
316  double ptsum = 0;
317  if (!extTkVtx_.isUninitialized()) {
319  iEvent.getByToken(extTkVtx_, vtxHandle);
320  for (const l1t::TkPrimaryVertex& vtx : *vtxHandle) {
321  if (ptsum == 0 || vtx.sum() > ptsum) {
322  z0 = vtx.zvertex();
323  ptsum = vtx.sum();
324  }
325  }
326  } else
327  throw cms::Exception("LogicError", "Inconsistent vertex configuration");
328  }
329  l1pualgo_->doVertexing(l1regions_.regions(), vtxAlgo_, z0);
330  iEvent.put(std::make_unique<float>(z0), "z0");
331  if (fRegionDump_) {
332  fwrite(&z0, sizeof(float), 1, fRegionDump_);
333  edm::Handle<math::XYZPointF> hGenOrigin;
334  iEvent.getByToken(TokGenOrigin_, hGenOrigin);
335  const math::XYZPointF& genOrigin = *hGenOrigin;
336  float genZ = genOrigin.Z();
337  fwrite(&genZ, sizeof(float), 1, fRegionDump_);
338  }
339 
340  // Then also save the tracks with a vertex cut
341  iEvent.put(l1regions_.fetchTracks(/*ptmin=*/0.0, /*fromPV=*/true), "TKVtx");
342 
343  // Then run PF in each region
344  for (auto& l1region : l1regions_.regions()) {
345  l1pfalgo_->runPF(l1region);
346  l1pualgo_->runChargedPV(l1region, z0);
347  }
348  // save PF into the event
349  iEvent.put(l1regions_.fetch(false), "PF");
350 
351  // Then get our alphas (globally)
352  std::vector<float> puGlobals;
353  l1pualgo_->doPUGlobals(l1regions_.regions(), -1., puGlobals); // FIXME we don't have yet an external PU estimate
354  const std::vector<std::string>& puGlobalNames = l1pualgo_->puGlobalNames();
355  if (puGlobals.size() != puGlobalNames.size())
356  throw cms::Exception("LogicError", "Mismatch in the number of global pileup inputs");
357  for (unsigned int i = 0, n = puGlobalNames.size(); i < n; ++i) {
358  iEvent.put(std::make_unique<float>(puGlobals[i]), puGlobalNames[i]);
359  }
360  if (fRegionDump_) {
362  }
363 
364  // Then run puppi (regionally)
365  for (auto& l1region : l1regions_.regions()) {
366  l1pualgo_->runNeutralsPU(l1region, -1., puGlobals);
367  }
368  // and save puppi
369  iEvent.put(l1regions_.fetch(true), "Puppi");
370 
371  // Then go do the multiplicities
372 
373  for (int i = 0; i < l1tpf_impl::Region::n_input_types; ++i) {
374  auto totAndMax = l1regions_.totAndMaxInput(i);
375  addUInt(totAndMax.first, std::string("totNL1") + l1tpf_impl::Region::inputTypeName(i), iEvent);
376  addUInt(totAndMax.second, std::string("maxNL1") + l1tpf_impl::Region::inputTypeName(i), iEvent);
378  }
379  for (int i = 0; i < l1tpf_impl::Region::n_output_types; ++i) {
380  auto totAndMaxPF = l1regions_.totAndMaxOutput(i, false);
381  auto totAndMaxPuppi = l1regions_.totAndMaxOutput(i, true);
382  addUInt(totAndMaxPF.first, std::string("totNL1PF") + l1tpf_impl::Region::outputTypeName(i), iEvent);
383  addUInt(totAndMaxPF.second, std::string("maxNL1PF") + l1tpf_impl::Region::outputTypeName(i), iEvent);
384  addUInt(totAndMaxPuppi.first, std::string("totNL1Puppi") + l1tpf_impl::Region::outputTypeName(i), iEvent);
385  addUInt(totAndMaxPuppi.second, std::string("maxNL1Puppi") + l1tpf_impl::Region::outputTypeName(i), iEvent);
388  }
389 
390  // finally clear the regions
391  l1regions_.clear();
392 }

References l1tpf_impl::RegionMapper::addCalo(), l1tpf_impl::RegionMapper::addEmCalo(), l1tpf_impl::RegionMapper::addMuon(), l1tpf_impl::RegionMapper::addTrack(), addUInt(), l1tpf_impl::RegionMapper::clear(), debugEta_, debugPhi_, debugR_, PbPb_ZMuSkimMuonDPG_cff::deltaR, emCands_, emPtCut_, Exception, l1tpf_impl::PUAlgoBase::External, extTkVtx_, l1tpf_impl::RegionMapper::fetch(), l1tpf_impl::RegionMapper::fetchCalo(), l1tpf_impl::RegionMapper::fetchTracks(), fRegionCOE_, fRegionDump_, hadCands_, hadPtCut_, hasTracks_, mps_fire::i, iEvent, l1tpf_impl::Region::inputTypeName(), edm::EDGetTokenT< T >::isUninitialized(), l1pfalgo_, l1pualgo_, l1regions_, amptDefaultParameters_cff::mu, muCands_, PDWG_BPHSkim_cff::muons, dqmiodumpmetadata::n, l1tpf_impl::Region::n_input_types, l1tpf_impl::Region::n_output_types, neventscoemax_, neventsproduced_, l1tpf_impl::Region::outputTypeName(), l1tpf_impl::RegionMapper::regions(), writedatasetfile::run, AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::tag, tkCands_, tkMuCands_, TokGenOrigin_, l1tpf_impl::RegionMapper::totAndMaxInput(), l1tpf_impl::RegionMapper::totAndMaxOutput(), PDWG_EXOHSCP_cff::tracks, trkMaxChi2_, trkMinStubs_, trkPt_, useStandaloneMuons_, useTrackerMuons_, l1tpf_impl::RegionMapper::vecInput(), l1tpf_impl::RegionMapper::vecOutput(), extraflags_cff::vtx, vtxAlgo_, l1tpf_impl::writeManyToFile(), and HLTMuonOfflineAnalyzer_cfi::z0.

Member Data Documentation

◆ config_

edm::ParameterSet L1TPFProducer::config_
private

Definition at line 41 of file L1TPFProducer.cc.

Referenced by beginStream().

◆ debug_

int L1TPFProducer::debug_
private

Definition at line 42 of file L1TPFProducer.cc.

◆ debugEta_

float L1TPFProducer::debugEta_
private

Definition at line 75 of file L1TPFProducer.cc.

Referenced by produce().

◆ debugPhi_

float L1TPFProducer::debugPhi_
private

Definition at line 75 of file L1TPFProducer.cc.

Referenced by produce().

◆ debugR_

float L1TPFProducer::debugR_
private

Definition at line 75 of file L1TPFProducer.cc.

Referenced by produce().

◆ emCands_

std::vector<edm::EDGetTokenT<l1t::PFClusterCollection> > L1TPFProducer::emCands_
private

Definition at line 57 of file L1TPFProducer.cc.

Referenced by L1TPFProducer(), and produce().

◆ emPtCut_

float L1TPFProducer::emPtCut_
private

Definition at line 60 of file L1TPFProducer.cc.

Referenced by produce().

◆ extTkVtx_

edm::EDGetTokenT<std::vector<l1t::TkPrimaryVertex> > L1TPFProducer::extTkVtx_
private

Definition at line 52 of file L1TPFProducer.cc.

Referenced by L1TPFProducer(), and produce().

◆ fRegionCOE_

std::unique_ptr<l1tpf_impl::COEFile> L1TPFProducer::fRegionCOE_
private

Definition at line 71 of file L1TPFProducer.cc.

Referenced by beginStream(), produce(), and ~L1TPFProducer().

◆ fRegionDump_

FILE* L1TPFProducer::fRegionDump_
private

Definition at line 70 of file L1TPFProducer.cc.

Referenced by beginStream(), produce(), and ~L1TPFProducer().

◆ hadCands_

std::vector<edm::EDGetTokenT<l1t::PFClusterCollection> > L1TPFProducer::hadCands_
private

Definition at line 58 of file L1TPFProducer.cc.

Referenced by L1TPFProducer(), and produce().

◆ hadPtCut_

float L1TPFProducer::hadPtCut_
private

Definition at line 60 of file L1TPFProducer.cc.

Referenced by produce().

◆ hasTracks_

bool L1TPFProducer::hasTracks_
private

Definition at line 47 of file L1TPFProducer.cc.

Referenced by produce().

◆ l1pfalgo_

std::unique_ptr<l1tpf_impl::PFAlgoBase> L1TPFProducer::l1pfalgo_
private

Definition at line 63 of file L1TPFProducer.cc.

Referenced by L1TPFProducer(), and produce().

◆ l1pualgo_

std::unique_ptr<l1tpf_impl::PUAlgoBase> L1TPFProducer::l1pualgo_
private

Definition at line 64 of file L1TPFProducer.cc.

Referenced by L1TPFProducer(), and produce().

◆ l1regions_

l1tpf_impl::RegionMapper L1TPFProducer::l1regions_
private

Definition at line 62 of file L1TPFProducer.cc.

Referenced by produce().

◆ muCands_

edm::EDGetTokenT<l1t::MuonBxCollection> L1TPFProducer::muCands_
private

Definition at line 54 of file L1TPFProducer.cc.

Referenced by produce().

◆ neventscoemax_

unsigned int L1TPFProducer::neventscoemax_
private

Definition at line 72 of file L1TPFProducer.cc.

Referenced by produce().

◆ neventsproduced_

unsigned int L1TPFProducer::neventsproduced_
private

Definition at line 72 of file L1TPFProducer.cc.

Referenced by produce().

◆ regionCOEName_

const std::string L1TPFProducer::regionCOEName_
private

Definition at line 69 of file L1TPFProducer.cc.

Referenced by beginStream().

◆ regionDumpName_

const std::string L1TPFProducer::regionDumpName_
private

Definition at line 69 of file L1TPFProducer.cc.

Referenced by beginStream(), and L1TPFProducer().

◆ tkCands_

edm::EDGetTokenT<l1t::PFTrackCollection> L1TPFProducer::tkCands_
private

Definition at line 48 of file L1TPFProducer.cc.

Referenced by produce().

◆ tkMuCands_

edm::EDGetTokenT<l1t::TkMuonCollection> L1TPFProducer::tkMuCands_
private

Definition at line 55 of file L1TPFProducer.cc.

Referenced by produce().

◆ TokGenOrigin_

edm::EDGetTokenT<math::XYZPointF> L1TPFProducer::TokGenOrigin_
private

Definition at line 66 of file L1TPFProducer.cc.

Referenced by L1TPFProducer(), and produce().

◆ trkMaxChi2_

float L1TPFProducer::trkMaxChi2_
private

Definition at line 49 of file L1TPFProducer.cc.

Referenced by produce().

◆ trkMinStubs_

unsigned L1TPFProducer::trkMinStubs_
private

Definition at line 50 of file L1TPFProducer.cc.

Referenced by produce().

◆ trkPt_

float L1TPFProducer::trkPt_
private

Definition at line 49 of file L1TPFProducer.cc.

Referenced by produce().

◆ useStandaloneMuons_

bool L1TPFProducer::useStandaloneMuons_
private

Definition at line 44 of file L1TPFProducer.cc.

Referenced by produce().

◆ useTrackerMuons_

bool L1TPFProducer::useTrackerMuons_
private

Definition at line 45 of file L1TPFProducer.cc.

Referenced by produce().

◆ vtxAlgo_

l1tpf_impl::PUAlgoBase::VertexAlgo L1TPFProducer::vtxAlgo_
private

Definition at line 51 of file L1TPFProducer.cc.

Referenced by L1TPFProducer(), and produce().

l1tpf_impl::PUAlgoBase::VertexAlgo::TP
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
L1TPFProducer::regionCOEName_
const std::string regionCOEName_
Definition: L1TPFProducer.cc:69
L1TPFProducer::debugPhi_
float debugPhi_
Definition: L1TPFProducer.cc:75
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
mps_fire.i
i
Definition: mps_fire.py:428
l1tpf_impl::PUAlgoBase::VertexAlgo::Old
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
L1TPFProducer::tkCands_
edm::EDGetTokenT< l1t::PFTrackCollection > tkCands_
Definition: L1TPFProducer.cc:48
l1ParticleFlow_cff.vtxAlgo
vtxAlgo
Definition: l1ParticleFlow_cff.py:99
L1TPFProducer::fRegionCOE_
std::unique_ptr< l1tpf_impl::COEFile > fRegionCOE_
Definition: L1TPFProducer.cc:71
L1TPFProducer::config_
edm::ParameterSet config_
Definition: L1TPFProducer.cc:41
amptDefaultParameters_cff.mu
mu
Definition: amptDefaultParameters_cff.py:16
l1ParticleFlow_cff.vtxFormat
vtxFormat
Definition: l1ParticleFlow_cff.py:100
edm
HLT enums.
Definition: AlignableModifier.h:19
L1TPFProducer::emPtCut_
float emPtCut_
Definition: L1TPFProducer.cc:60
l1t::MuonBxCollection
BXVector< Muon > MuonBxCollection
Definition: Muon.h:11
L1TPFProducer::emCands_
std::vector< edm::EDGetTokenT< l1t::PFClusterCollection > > emCands_
Definition: L1TPFProducer.cc:57
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89287
edm::EDGetTokenT::isUninitialized
constexpr bool isUninitialized() const noexcept
Definition: EDGetToken.h:99
l1tpf_impl::RegionMapper::fetch
std::unique_ptr< l1t::PFCandidateCollection > fetch(bool puppi=true, float ptMin=0.01) const
Definition: RegionMapper.cc:185
l1tpf_impl::RegionMapper::regions
std::vector< Region > & regions()
Definition: RegionMapper.h:34
l1tpf_impl::Region::n_output_types
Definition: Region.h:57
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::Handle
Definition: AssociativeIterator.h:50
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
edm::Ref< l1t::PFTrackCollection >
L1TPFProducer::hadPtCut_
float hadPtCut_
Definition: L1TPFProducer.cc:60
L1TPFProducer::l1regions_
l1tpf_impl::RegionMapper l1regions_
Definition: L1TPFProducer.cc:62
L1TPFProducer::debugEta_
float debugEta_
Definition: L1TPFProducer.cc:75
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
L1TPFProducer::trkPt_
float trkPt_
Definition: L1TPFProducer.cc:49
cmsdt::algo
algo
Definition: constants.h:164
L1TPFProducer::neventsproduced_
unsigned int neventsproduced_
Definition: L1TPFProducer.cc:72
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
l1tpf_impl::RegionMapper::addMuon
void addMuon(const l1t::Muon &t)
Definition: RegionMapper.cc:124
L1TPFProducer::hadCands_
std::vector< edm::EDGetTokenT< l1t::PFClusterCollection > > hadCands_
Definition: L1TPFProducer.cc:58
l1tpf_impl::Region::n_input_types
Definition: Region.h:45
L1TPFProducer::extTkVtx_
edm::EDGetTokenT< std::vector< l1t::TkPrimaryVertex > > extTkVtx_
Definition: L1TPFProducer.cc:52
HLTMuonOfflineAnalyzer_cfi.z0
z0
Definition: HLTMuonOfflineAnalyzer_cfi.py:98
l1tpf_impl::RegionMapper::addEmCalo
void addEmCalo(const l1t::PFCluster &t)
Definition: RegionMapper.cc:169
l1tpf_impl::RegionMapper::fetchTracks
std::unique_ptr< l1t::PFCandidateCollection > fetchTracks(float ptMin=0.01, bool fromPV=false) const
Definition: RegionMapper.cc:264
l1t::PFTrackCollection
std::vector< l1t::PFTrack > PFTrackCollection
Definition: PFTrack.h:84
l1tpf_impl::RegionMapper::fetchCalo
std::unique_ptr< l1t::PFCandidateCollection > fetchCalo(float ptMin=0.01, bool emcalo=false) const
Definition: RegionMapper.cc:239
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1TPFProducer::hasTracks_
bool hasTracks_
Definition: L1TPFProducer.cc:47
L1TPFProducer::regionDumpName_
const std::string regionDumpName_
Definition: L1TPFProducer.cc:69
L1TPFProducer::trkMaxChi2_
float trkMaxChi2_
Definition: L1TPFProducer.cc:49
L1TPFProducer::fRegionDump_
FILE * fRegionDump_
Definition: L1TPFProducer.cc:70
L1TPFProducer::muCands_
edm::EDGetTokenT< l1t::MuonBxCollection > muCands_
Definition: L1TPFProducer.cc:54
l1t
delete x;
Definition: CaloConfig.h:22
l1tpf_impl::PUAlgoBase::VertexAlgo::External
l1tpf_impl::writeManyToFile
void writeManyToFile(const std::vector< T > &objs, FILE *file)
Definition: DiscretePFInputsIO.h:97
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
L1TPFProducer::neventscoemax_
unsigned int neventscoemax_
Definition: L1TPFProducer.cc:72
L1TPFProducer::l1pfalgo_
std::unique_ptr< l1tpf_impl::PFAlgoBase > l1pfalgo_
Definition: L1TPFProducer.cc:63
l1tpf_impl::RegionMapper::addTrack
void addTrack(const l1t::PFTrack &t)
Definition: RegionMapper.cc:86
value
Definition: value.py:1
l1t::TkPrimaryVertex
Definition: TkPrimaryVertex.h:12
l1t::TkMuon
Definition: TkMuon.h:12
l1tpf_impl::RegionMapper::totAndMaxInput
std::pair< unsigned, unsigned > totAndMaxInput(int type) const
Definition: RegionMapper.cc:304
l1tpf_impl::RegionMapper::vecOutput
std::unique_ptr< std::vector< unsigned > > vecOutput(int type, bool puppi) const
Definition: RegionMapper.cc:333
edm::Ptr< l1t::Muon >
l1tpf_impl::Region::inputTypeName
static const char * inputTypeName(int inputType)
Definition: Region.cc:6
L1TPFProducer::useStandaloneMuons_
bool useStandaloneMuons_
Definition: L1TPFProducer.cc:44
L1TPFProducer::l1pualgo_
std::unique_ptr< l1tpf_impl::PUAlgoBase > l1pualgo_
Definition: L1TPFProducer.cc:64
L1TPFProducer::TokGenOrigin_
edm::EDGetTokenT< math::XYZPointF > TokGenOrigin_
Definition: L1TPFProducer.cc:66
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:18
L1TPFProducer::useTrackerMuons_
bool useTrackerMuons_
Definition: L1TPFProducer.cc:45
Exception
Definition: hltDiff.cc:246
L1TPFProducer::trkMinStubs_
unsigned trkMinStubs_
Definition: L1TPFProducer.cc:50
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
L1TPFProducer::vtxAlgo_
l1tpf_impl::PUAlgoBase::VertexAlgo vtxAlgo_
Definition: L1TPFProducer.cc:51
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
l1t::TkMuonCollection
std::vector< TkMuon > TkMuonCollection
Definition: TkMuonFwd.h:16
AlignmentPI::regions
regions
Definition: AlignmentPayloadInspectorHelper.h:76
cms::Exception
Definition: Exception.h:70
L1TPFProducer::tkMuCands_
edm::EDGetTokenT< l1t::TkMuonCollection > tkMuCands_
Definition: L1TPFProducer.cc:55
calo
Definition: Common.h:9
event
Definition: event.py:1
l1t::Muon
Definition: Muon.h:21
math::XYZPointF
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
l1tpf_impl::RegionMapper::vecInput
std::unique_ptr< std::vector< unsigned > > vecInput(int type) const
Definition: RegionMapper.cc:314
l1tpf_impl::RegionMapper::totAndMaxOutput
std::pair< unsigned, unsigned > totAndMaxOutput(int type, bool puppi) const
Definition: RegionMapper.cc:323
L1TPFProducer::addUInt
void addUInt(unsigned int value, std::string iLabel, edm::Event &iEvent)
Definition: L1TPFProducer.cc:394
lumi
Definition: LumiSectionData.h:20
l1tpf_impl::Region::outputTypeName
static const char * outputTypeName(int outputType)
Definition: Region.cc:22
edm::InputTag
Definition: InputTag.h:15
label
const char * label
Definition: PFTauDecayModeTools.cc:11
l1tpf_impl::RegionMapper::clear
void clear()
Definition: RegionMapper.cc:78
l1tpf_impl::RegionMapper::addCalo
void addCalo(const l1t::PFCluster &t)
Definition: RegionMapper.cc:153
L1TPFProducer::debugR_
float debugR_
Definition: L1TPFProducer.cc:75
L1TPFProducer::debug_
int debug_
Definition: L1TPFProducer.cc:42