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 hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () 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_.reset(new l1tpf_impl::PFAlgo3(iConfig));
132  } else if (algo == "PFAlgo2HGC") {
133  l1pfalgo_.reset(new l1tpf_impl::PFAlgo2HGC(iConfig));
134  } else if (algo == "BitwisePFAlgo") {
135  l1pfalgo_.reset(new 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_.reset(new l1tpf_impl::PuppiAlgo(iConfig));
142  } else if (pualgo == "LinearizedPuppi") {
143  l1pualgo_.reset(new 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) {
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(), L1TowerCalibrationProducer_cfi::calo, 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(), badGlobalMuonTaggersAOD_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:355
l1tpf_impl::PUAlgoBase::VertexAlgo::Old
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
L1TowerCalibrationProducer_cfi.calo
calo
Definition: L1TowerCalibrationProducer_cfi.py:59
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
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
l1tpf_impl::LinearizedPuppiAlgo
Definition: LinearizedPuppiAlgo.h:8
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::Handle
Definition: AssociativeIterator.h:50
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::PFAlgo2HGC
Definition: PFAlgo2HGC.h:7
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
edm::EDGetTokenT::isUninitialized
bool isUninitialized() const
Definition: EDGetToken.h:70
l1tpf_impl::Region::n_input_types
Definition: Region.h:45
l1tpf_impl::BitwisePFAlgo
Definition: BitwisePFAlgo.h:9
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::PuppiAlgo
Definition: PuppiAlgo.h:8
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
badGlobalMuonTaggersAOD_cff.vtx
vtx
Definition: badGlobalMuonTaggersAOD_cff.py:5
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
edm::LogWarning
Definition: MessageLogger.h:141
L1TPFProducer::trkMaxChi2_
float trkMaxChi2_
Definition: L1TPFProducer.cc:49
L1TPFProducer::fRegionDump_
FILE * fRegionDump_
Definition: L1TPFProducer.cc:70
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
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:14
l1t::TkMuon
Definition: TkMuon.h:13
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 >
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
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
L1TPFProducer::useTrackerMuons_
bool useTrackerMuons_
Definition: L1TPFProducer.cc:45
Exception
Definition: hltDiff.cc:246
L1TPFProducer::trkMinStubs_
unsigned trkMinStubs_
Definition: L1TPFProducer.cc:50
l1tpf_impl::COEFile
Definition: COEFile.h:19
l1tpf_impl::PFAlgo3
Definition: PFAlgo3.h:7
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
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