|
|
Produces the pat::Photon.
More...
#include "PhysicsTools/PatAlgos/interface/PATPhotonProducer.h"
Produces the pat::Photon.
The PATPhotonProducer produces the analysis-level pat::Photon starting from a collection of objects of PhotonType.
- Author
- Steven Lowette
- Version
- Id
- PATPhotonProducer.h,v 1.19 2009/06/25 23:49:35 gpetrucc Exp
Definition at line 52 of file PATPhotonProducer.h.
◆ IsoDepositMaps
◆ IsolationLabel
◆ IsolationLabels
◆ IsolationValueMaps
◆ NameTag
◆ PATPhotonProducer()
Definition at line 31 of file PATPhotonProducer.cc.
63 iConfig.
getParameter<std::vector<edm::InputTag>>(
"genParticleMatch"),
64 [
this](
edm::InputTag const &
tag) { return consumes<edm::Association<reco::GenParticleCollection>>(tag); });
87 if (not hcPFC.label().empty())
103 <<
"PATPhotonProducer: you can't specify both 'photonIDSource' and 'photonIDSources'\n";
108 for (std::vector<std::string>::const_iterator it =
names.begin(), ed =
names.end(); it != ed; ++it) {
114 throw cms::Exception(
"Configuration") <<
"PATPhotonProducer: id addPhotonID is true, you must specify either:\n"
115 <<
"\tInputTag photonIDSource = <someTag>\n"
117 <<
"\tPSet photonIDSources = { \n"
118 <<
"\t\tInputTag <someName> = <someTag> // as many as you want \n "
134 produces<std::vector<Photon>>();
◆ ~PATPhotonProducer()
PATPhotonProducer::~PATPhotonProducer |
( |
| ) |
|
|
override |
◆ fillDescriptions()
Definition at line 480 of file PATPhotonProducer.cc.
482 iDesc.
setComment(
"PAT photon producer module");
495 "ecalPFClusterIsoMap",
edm::InputTag(
"photonEcalPFClusterIsolationProducer"),
true) and
497 "hcalPFClusterIsoMap",
edm::InputTag(
"photonHcalPFClusterIsolationProducer"),
true))
or
504 "puppiIsolationChargedHadrons",
edm::InputTag(
"egmPhotonPUPPIIsolation",
"h+-DR030-"),
true) and
506 "puppiIsolationNeutralHadrons",
edm::InputTag(
"egmPhotonPUPPIIsolation",
"h0-DR030-"),
true) and
508 "puppiIsolationPhotons",
edm::InputTag(
"egmPhotonPUPPIIsolation",
"gamma-DR030-"),
true))
or
511 iDesc.
add<
bool>(
"embedSuperCluster",
true)->setComment(
"embed external super cluster");
512 iDesc.
add<
bool>(
"embedSeedCluster",
true)->setComment(
"embed external seed cluster");
513 iDesc.
add<
bool>(
"embedBasicClusters",
true)->setComment(
"embed external basic clusters");
514 iDesc.
add<
bool>(
"embedPreshowerClusters",
true)->setComment(
"embed external preshower clusters");
515 iDesc.
add<
bool>(
"embedRecHits",
true)->setComment(
"embed external RecHits");
518 iDesc.
add<
bool>(
"addGenMatch",
true)->setComment(
"add MC matching");
519 iDesc.
add<
bool>(
"embedGenMatch",
false)->setComment(
"embed MC matched MC information");
520 std::vector<edm::InputTag> emptySourceVector;
524 ->
setComment(
"input with MC match information");
529 iDesc.
add<
bool>(
"addPhotonID",
true)->setComment(
"add photon ID variables");
535 ->
setComment(
"input with photon ID variables");
548 isoDepositsPSet.
addOptional<std::vector<edm::InputTag>>(
"user");
562 isolationValuesPSet.
addOptional<std::vector<edm::InputTag>>(
"user");
563 iDesc.
addOptional(
"isolationValues", isolationValuesPSet);
568 iDesc.
add(
"efficiencies", efficienciesPSet);
569 iDesc.
add<
bool>(
"addEfficiencies",
false);
578 iDesc.
add(
"userIsolation", isolationPSet);
581 ->
setComment(
"input with high level selection");
583 iDesc.
add<
bool>(
"saveRegressionData",
true)->setComment(
"save regression input variables");
585 descriptions.
add(
"PATPhotonProducer", iDesc);
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addNode(), edm::ParameterSetDescription::addOptional(), pat::helper::KinResolutionsLoader::fillDescription(), pat::PATUserDataHelper< ObjectType >::fillDescription(), edm::ParameterSetDescription::ifValue(), HLT_FULL_cff::InputTag, or, edm::ParameterSetDescription::setAllowAnything(), edm::ParameterSetDescription::setComment(), and edm::ParameterDescriptionNode::setComment().
◆ produce()
Definition at line 146 of file PATPhotonProducer.cc.
148 if (
iEvent.isRealData()) {
183 std::vector<edm::Handle<edm::Association<reco::GenParticleCollection>>> genMatches(
genMatchTokens_.size());
209 std::vector<edm::Handle<edm::ValueMap<Bool_t>>> idhandles;
210 std::vector<pat::Photon::IdPair> ids;
231 std::vector<Photon> *PATPhotons =
new std::vector<Photon>();
234 unsigned int idx = itPhoton -
photons->begin();
237 Photon aPhoton(photonRef);
240 aPhoton.embedSuperCluster();
242 aPhoton.embedSeedCluster();
244 aPhoton.embedBasicClusters();
246 aPhoton.embedPreshowerClusters();
248 std::vector<DetId> selectedCells;
249 bool barrel = itPhoton->isEB();
253 clusIt != itPhoton->superCluster()->clustersEnd();
256 DetId seed = lazyTools.getMaximum(**clusIt).first;
258 std::vector<DetId> dets5x5 =
261 selectedCells.insert(selectedCells.end(), dets5x5.begin(), dets5x5.end());
264 for (
const std::pair<DetId, float> &
hit : (*clusIt)->hitsAndFractions()) {
265 selectedCells.push_back(
hit.first);
271 std::sort(selectedCells.begin(), selectedCells.end());
272 std::unique(selectedCells.begin(), selectedCells.end());
285 recHits = recHitsEBHandle.product();
291 unsigned nSelectedCells = selectedCells.
size();
292 for (
unsigned icell = 0; icell < nSelectedCells; ++icell) {
298 selectedRecHits.
sort();
300 aPhoton.embedRecHits(&selectedRecHits);
304 for (
size_t i = 0,
n = genMatches.size();
i <
n; ++
i) {
306 aPhoton.addGenParticleRef(genPhoton);
309 aPhoton.embedGenParticle();
329 aPhoton.setIsolation(it->first, it->second);
333 for (
size_t j = 0, nd =
deposits.size();
j < nd; ++
j) {
344 ids[
i].second = (*idhandles[
i])[photonRef];
346 aPhoton.setPhotonIDs(ids);
354 bool passelectronveto =
false;
360 aPhoton.setPassElectronVeto(passelectronveto);
366 aPhoton.setSeedEnergy(photonRef->
superCluster()->seed()->energy());
372 recHitsEBHandle.product(),
378 aPhoton.setEMax(ecalRegData.
eMax());
379 aPhoton.setE2nd(ecalRegData.
e2nd());
380 aPhoton.setE3x3(ecalRegData.
e3x3());
381 aPhoton.setETop(ecalRegData.
eTop());
382 aPhoton.setEBottom(ecalRegData.
eBottom());
383 aPhoton.setELeft(ecalRegData.
eLeft());
384 aPhoton.setERight(ecalRegData.
eRight());
415 aPhoton.setEBottom(0);
417 aPhoton.setERight(0);
423 aPhoton.setMaxDRDPhi(0);
424 aPhoton.setMaxDRDEta(0);
425 aPhoton.setMaxDRRawEnergy(0);
426 aPhoton.setSubClusRawE1(0);
427 aPhoton.setSubClusRawE2(0);
428 aPhoton.setSubClusRawE3(0);
429 aPhoton.setSubClusDPhi1(0);
430 aPhoton.setSubClusDPhi2(0);
431 aPhoton.setSubClusDPhi3(0);
432 aPhoton.setSubClusDEta1(0);
433 aPhoton.setSubClusDEta2(0);
434 aPhoton.setSubClusDEta3(0);
436 aPhoton.setCryPhi(0);
437 aPhoton.setCryEta(0);
443 aPhoton.setIsolationPUPPI((*PUPPIIsolation_charged_hadrons)[phoPtr],
444 (*PUPPIIsolation_neutral_hadrons)[phoPtr],
445 (*PUPPIIsolation_photons)[phoPtr]);
447 aPhoton.setIsolationPUPPI(-999., -999., -999.);
462 aPhoton.setPflowIsolationVariables(newPFIsol);
466 PATPhotons->push_back(aPhoton);
473 std::unique_ptr<std::vector<Photon>> myPhotons(PATPhotons);
References pat::PATUserDataHelper< ObjectType >::add(), addGenMatch_, pat::PATObject< ObjectType >::addGenParticleRef(), addPFClusterIso_, addPhotonID_, addPuppiIsolation_, Reference_intrackfit_cff::barrel, beamLineToken_, pat::helper::MultiIsolator::beginEvent(), EcalRegressionData::C1, EcalRegressionData::C2, EcalRegressionData::C3, CandIsolatorFromDeposits_cfi::deposits, EcalRegressionData::e2nd(), EcalRegressionData::e3x3(), EcalRegressionData::eBottom(), DetId::Ecal, EcalBarrel, ecalClusterToolsESGetTokens_, EcalEndcap, ecalGeometry_, ecalPFClusterIsoT_, ecalTopology_, efficiencyLoader_, electronToken_, EcalRegressionData::eLeft(), EcalRegressionData::eMax(), pat::Photon::embedBasicClusters(), embedBasicClusters_, embedGenMatch_, pat::PATObject< ObjectType >::embedGenParticle(), pat::Photon::embedPreshowerClusters(), embedPreshowerClusters_, pat::Photon::embedRecHits(), embedRecHits_, pat::Photon::embedSeedCluster(), embedSeedCluster_, pat::Photon::embedSuperCluster(), embedSuperCluster_, pat::helper::EfficiencyLoader::enabled(), pat::helper::KinResolutionsLoader::enabled(), pat::helper::MultiIsolator::enabled(), pat::helper::MultiIsolator::endEvent(), EcalRegressionData::eRight(), eTComparator_, EcalRegressionData::eTop(), pat::helper::MultiIsolator::fill(), EcalRegressionData::fill(), first, genMatchTokens_, EcalClusterLazyToolsBase::ESGetTokens::get(), edm::EventSetup::get(), get, reco::Photon::getPflowIsolationVariables(), CaloTopology::getSubdetectorTopology(), CaloSubdetectorTopology::getWindow(), ConversionTools::hasMatchedPromptElectron(), reco::Photon::hasPixelSeed(), hcalPFClusterIsoT_, hConversionsToken_, mps_fire::i, heavyIonCSV_trainingSettings::idx, iEvent, isoDepositLabels_, isoDepositTokens_, isolationValueLabels_, electronProducer_cff::isolationValues, isolationValueTokens_, isolator_, isolatorTmpStorage_, edm::EDGetTokenT< T >::isUninitialized(), edm::HandleBase::isValid(), dqmiolumiharvest::j, EcalRegressionData::maxSubClusDR(), EcalRegressionData::maxSubClusDRDEta(), EcalRegressionData::maxSubClusDRDPhi(), EcalRegressionData::maxSubClusDRRawEnergy(), eostools::move(), dqmiodumpmetadata::n, pat::helper::EfficiencyLoader::newEvent(), pat::helper::KinResolutionsLoader::newEvent(), photIDSrcs_, photIDTokens_, BPHMonitor_cfi::photons, photonToken_, reco::BeamSpot::position(), edm::Handle< T >::product(), PUPPIIsolation_charged_hadrons_, PUPPIIsolation_neutral_hadrons_, PUPPIIsolation_photons_, edm::SortedCollection< T, SORT >::push_back(), FastTrackerRecHitMaskProducer_cfi::recHits, reducedBarrelRecHitCollectionToken_, reducedEndcapRecHitCollectionToken_, resolutionLoader_, saveRegressionData_, fileCollector::seed, EcalRegressionData::seedCrysEtaOrX(), EcalRegressionData::seedCrysIEtaOrIX(), EcalRegressionData::seedCrysIPhiOrIY(), EcalRegressionData::seedCrysPhiOrY(), pat::Photon::setCryEta(), pat::Photon::setCryPhi(), pat::Photon::setE2nd(), pat::Photon::setE3x3(), pat::Photon::setEBottom(), pat::helper::EfficiencyLoader::setEfficiencies(), pat::Photon::setELeft(), pat::Photon::setEMax(), pat::Photon::setERight(), pat::Photon::setETop(), pat::Photon::setHasPixelSeed(), pat::Photon::setIEta(), pat::Photon::setIPhi(), pat::Photon::setIsoDeposit(), pat::Photon::setIsolation(), pat::Photon::setIsolationPUPPI(), pat::Photon::setMaxDR(), pat::Photon::setMaxDRDEta(), pat::Photon::setMaxDRDPhi(), pat::Photon::setMaxDRRawEnergy(), pat::Photon::setPassElectronVeto(), reco::Photon::setPflowIsolationVariables(), pat::Photon::setPhotonIDs(), pat::helper::KinResolutionsLoader::setResolutions(), pat::Photon::setSee(), pat::Photon::setSeedEnergy(), pat::Photon::setSep(), pat::Photon::setSpp(), pat::Photon::setSubClusDEta1(), pat::Photon::setSubClusDEta2(), pat::Photon::setSubClusDEta3(), pat::Photon::setSubClusDPhi1(), pat::Photon::setSubClusDPhi2(), pat::Photon::setSubClusDPhi3(), pat::Photon::setSubClusRawE1(), pat::Photon::setSubClusRawE2(), pat::Photon::setSubClusRawE3(), EcalRegressionData::sigmaIEtaIEta(), EcalRegressionData::sigmaIEtaIPhi(), EcalRegressionData::sigmaIPhiIPhi(), edm::SortedCollection< T, SORT >::size(), jetUpdater_cfi::sort, edm::SortedCollection< T, SORT >::sort(), EcalRegressionData::subClusDEta(), EcalRegressionData::subClusDPhi(), EcalRegressionData::subClusRawEnergy(), reco::Photon::PflowIsolationVariables::sumEcalClusterEt, reco::Photon::PflowIsolationVariables::sumHcalClusterEt, reco::Photon::superCluster(), tier0::unique(), userDataHelper_, and useUserData_.
◆ readIsolationLabels()
fill the labels vector from the contents of the parameter set, for the isodeposit or isolation values embedding
Definition at line 141 of file PATPhotonProducer.h.
147 if (iConfig.
exists(psetName)) {
150 if (depconf.
exists(
"tracker"))
152 if (depconf.
exists(
"ecal"))
154 if (depconf.
exists(
"hcal"))
156 if (depconf.
exists(
"pfAllParticles")) {
159 if (depconf.
exists(
"pfChargedHadrons")) {
163 if (depconf.
exists(
"pfChargedAll")) {
166 if (depconf.
exists(
"pfPUChargedHadrons")) {
170 if (depconf.
exists(
"pfNeutralHadrons")) {
174 if (depconf.
exists(
"pfPhotons")) {
177 if (depconf.
exists(
"user")) {
178 std::vector<edm::InputTag> userdeps = depconf.
getParameter<std::vector<edm::InputTag> >(
"user");
179 std::vector<edm::InputTag>::const_iterator it = userdeps.begin(), ed = userdeps.end();
181 for (; it != ed; ++it, ++
key) {
References pat::EcalIso, edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), pat::HcalIso, crabWrapper::key, label, SummaryClient_cfi::labels, pat::PfAllParticleIso, pat::PfChargedAllIso, pat::PfChargedHadronIso, pat::PfGammaIso, pat::PfNeutralHadronIso, pat::PfPUChargedHadronIso, pat::TrackIso, pat::UserBaseIso, and edm::vector_transform().
◆ addEfficiencies_
bool pat::PATPhotonProducer::addEfficiencies_ |
|
private |
◆ addGenMatch_
bool pat::PATPhotonProducer::addGenMatch_ |
|
private |
◆ addPFClusterIso_
bool pat::PATPhotonProducer::addPFClusterIso_ |
|
private |
◆ addPhotonID_
bool pat::PATPhotonProducer::addPhotonID_ |
|
private |
◆ addPuppiIsolation_
bool pat::PATPhotonProducer::addPuppiIsolation_ |
|
private |
◆ addResolutions_
bool pat::PATPhotonProducer::addResolutions_ |
|
private |
◆ beamLineToken_
◆ ecalClusterToolsESGetTokens_
◆ ecalGeometry_
◆ ecalPFClusterIsoT_
◆ ecalTopology_
◆ efficiencyLoader_
◆ electronToken_
◆ embedBasicClusters_
bool pat::PATPhotonProducer::embedBasicClusters_ |
|
private |
◆ embedGenMatch_
bool pat::PATPhotonProducer::embedGenMatch_ |
|
private |
◆ embedPreshowerClusters_
bool pat::PATPhotonProducer::embedPreshowerClusters_ |
|
private |
◆ embedRecHits_
bool pat::PATPhotonProducer::embedRecHits_ |
|
private |
◆ embedSeedCluster_
bool pat::PATPhotonProducer::embedSeedCluster_ |
|
private |
◆ embedSuperCluster_
bool pat::PATPhotonProducer::embedSuperCluster_ |
|
private |
◆ eTComparator_
◆ genMatchTokens_
◆ hcalPFClusterIsoT_
◆ hConversionsToken_
◆ isoDepositLabels_
◆ isoDepositTokens_
◆ isolationValueLabels_
◆ isolationValueTokens_
◆ isolator_
◆ isolatorTmpStorage_
◆ photIDSrcs_
std::vector<NameTag> pat::PATPhotonProducer::photIDSrcs_ |
|
private |
◆ photIDTokens_
◆ photonToken_
◆ PUPPIIsolation_charged_hadrons_
◆ PUPPIIsolation_neutral_hadrons_
◆ PUPPIIsolation_photons_
◆ reducedBarrelRecHitCollection_
edm::InputTag pat::PATPhotonProducer::reducedBarrelRecHitCollection_ |
|
private |
◆ reducedBarrelRecHitCollectionToken_
◆ reducedEndcapRecHitCollection_
edm::InputTag pat::PATPhotonProducer::reducedEndcapRecHitCollection_ |
|
private |
◆ reducedEndcapRecHitCollectionToken_
◆ resolutionLoader_
◆ saveRegressionData_
bool pat::PATPhotonProducer::saveRegressionData_ |
|
private |
◆ userDataHelper_
◆ useUserData_
bool pat::PATPhotonProducer::useUserData_ |
|
private |
float seedCrysIPhiOrIY() const
edm::EDGetTokenT< reco::GsfElectronCollection > electronToken_
pat::helper::MultiIsolator isolator_
Assists in assimilating all pat::UserData into pat objects.
ParameterDescriptionBase * add(U const &iLabel, T const &value)
std::vector< EcalRecHit >::const_iterator const_iterator
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
float sigmaIEtaIEta() const
T const * product() const
edm::EDGetTokenT< EcalRecHitCollection > reducedEndcapRecHitCollectionToken_
float seedCrysPhiOrY() const
float maxSubClusDRRawEnergy() const
void fill(const edm::View< T > &coll, int idx, IsolationValuePairs &isolations) const
static void fillDescription(edm::ParameterSetDescription &iDesc)
edm::EDGetTokenT< edm::View< reco::Photon > > photonToken_
bool enabled() const
'true' if this there is at least one efficiency configured
constexpr bool isUninitialized() const noexcept
bool embedPreshowerClusters_
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
float maxSubClusDRDPhi() const
edm::EDGetTokenT< edm::ValueMap< float > > ecalPFClusterIsoT_
float maxSubClusDRDEta() const
ParameterDescriptionBase * addOptional(U const &iLabel, T const &value)
void push_back(T const &t)
std::vector< std::pair< pat::IsolationKeys, float > > IsolationValuePairs
const std::vector< float > & subClusDEta() const
IsolationLabels isolationValueLabels_
bool enabled() const
'true' if this there is at least one efficiency configured
float seedCrysIEtaOrIX() const
std::vector< edm::Handle< edm::ValueMap< IsoDeposit > > > IsoDepositMaps
pat::PATUserDataHelper< pat::Photon > userDataHelper_
bool enabled() const
True if it has a non null configuration.
pat::helper::EfficiencyLoader efficiencyLoader_
void fill(const reco::SuperCluster &superClus, const EcalRecHitCollection *ebRecHits, const EcalRecHitCollection *eeRecHits, const CaloGeometry *geom, const CaloTopology *topology, const reco::VertexCollection *vertices)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const std::string names[nVars_]
void add(ObjectType &patObject, edm::Event const &iEvent, edm::EventSetup const &iSetup)
pat::helper::KinResolutionsLoader resolutionLoader_
void newEvent(const edm::Event &event)
To be called for each new event, reads in the ValueMaps for efficiencies.
IsolationLabels isoDepositLabels_
std::vector< edm::EDGetTokenT< edm::ValueMap< IsoDeposit > > > isoDepositTokens_
const Point & position() const
position
std::pair< pat::IsolationKeys, edm::InputTag > IsolationLabel
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_
bool hasPixelSeed() const
Bool flagging photons having a non-zero size vector of Ref to electornPixel seeds.
void setResolutions(pat::PATObject< T > &obj) const
Sets the efficiencies for this object, using the reference to the original objects.
bool exists(std::string const ¶meterName) const
checks if a parameter exists
void setComment(std::string const &value)
float maxSubClusDR() const
static void fillDescription(edm::ParameterSetDescription &iDesc)
Method for documentation and validation of PSet.
edm::EDGetTokenT< reco::BeamSpot > beamLineToken_
const CaloSubdetectorTopology * getSubdetectorTopology(const DetId &id) const
access the subdetector Topology for the given subdetector directly
ParameterDescriptionNode * ifValue(ParameterDescription< T > const &switchParameter, std::unique_ptr< ParameterDescriptionCases< T >> cases)
std::vector< std::string > getParameterNamesForType(bool trackiness=true) const
std::vector< edm::EDGetTokenT< edm::ValueMap< double > > > isolationValueTokens_
const CaloTopology * ecalTopology_
std::vector< edm::Handle< edm::ValueMap< double > > > IsolationValueMaps
GreaterByEt< Photon > eTComparator_
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
void setAllowAnything()
allow any parameter label/value pairs
const std::vector< float > & subClusDPhi() const
void newEvent(const edm::Event &event, const edm::EventSetup &setup)
To be called for each new event, reads in the EventSetup object.
float seedCrysEtaOrX() const
std::vector< edm::EDGetTokenT< edm::ValueMap< Bool_t > > > photIDTokens_
virtual std::vector< DetId > getWindow(const DetId &id, const int &northSouthSize, const int &eastWestSize) const
std::vector< NameTag > photIDSrcs_
std::vector< edm::EDGetTokenT< edm::Association< reco::GenParticleCollection > > > genMatchTokens_
const std::vector< float > & subClusRawEnergy() const
IsolationKeys
Enum defining isolation keys.
void beginEvent(const edm::Event &event, const edm::EventSetup &eventSetup)
def unique(seq, keepstr=True)
const CaloGeometry * ecalGeometry_
void setEfficiencies(pat::PATObject< T > &obj, const R &originalRef) const
Sets the efficiencies for this object, using the reference to the original objects.
edm::EDGetTokenT< edm::ValueMap< float > > hcalPFClusterIsoT_
float sigmaIEtaIPhi() const
edm::EDGetTokenT< reco::ConversionCollection > hConversionsToken_
void readIsolationLabels(const edm::ParameterSet &iConfig, const char *psetName, IsolationLabels &labels, std::vector< edm::EDGetTokenT< edm::ValueMap< T > > > &tokens)
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_photons_
edm::EDGetTokenT< EcalRecHitCollection > reducedBarrelRecHitCollectionToken_
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
T getParameter(std::string const &) const
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_neutral_hadrons_
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_charged_hadrons_
void setComment(std::string const &value)
edm::InputTag reducedBarrelRecHitCollection_
const EcalClusterLazyTools::ESGetTokens ecalClusterToolsESGetTokens_
std::pair< std::string, edm::InputTag > NameTag
float sigmaIPhiIPhi() const
edm::InputTag reducedEndcapRecHitCollection_