|
 |
#include <ConversionTrackCandidateProducer.h>
|
void | buildCollections (bool detector, const edm::Handle< edm::View< reco::CaloCluster > > &scHandle, const edm::Handle< edm::View< reco::CaloCluster > > &bcHandle, edm::Handle< EcalRecHitCollection > ecalRecHitHandle, const EcalRecHitCollection &ecalRecHits, const EcalSeverityLevelAlgo *sevLev, const edm::Handle< CaloTowerCollection > &hcalTowersHandle, TrackCandidateCollection &outInTracks, TrackCandidateCollection &inOutTracks, std::vector< edm::Ptr< reco::CaloCluster > > &vecRecOI, std::vector< edm::Ptr< reco::CaloCluster > > &vecRecIO) |
|
void | setEventSetup (const edm::EventSetup &es) |
| Initialize EventSetup objects at each event. More...
|
|
- Author
- Nancy Marinelli, U. of Notre Dame, US
Definition at line 38 of file ConversionTrackCandidateProducer.h.
◆ ConversionTrackCandidateProducer()
ConversionTrackCandidateProducer::ConversionTrackCandidateProducer |
( |
const edm::ParameterSet & |
ps | ) |
|
Definition at line 55 of file ConversionTrackCandidateProducer.cc.
68 consumes<edm::View<reco::CaloCluster> >(
config.getParameter<
edm::InputTag>(
"bcBarrelCollection"));
70 consumes<edm::View<reco::CaloCluster> >(
config.getParameter<
edm::InputTag>(
"bcEndcapCollection"));
73 consumes<edm::View<reco::CaloCluster> >(
config.getParameter<
edm::InputTag>(
"scHybridBarrelProducer"));
75 consumes<edm::View<reco::CaloCluster> >(
config.getParameter<
edm::InputTag>(
"scIslandEndcapProducer"));
86 consumes<EcalRecHitCollection>(
config.getParameter<
edm::InputTag>(
"barrelEcalRecHitCollection"));
88 consumes<EcalRecHitCollection>(
config.getParameter<
edm::InputTag>(
"endcapEcalRecHitCollection"));
105 const std::vector<std::string> flagnamesEB =
106 config.getParameter<std::vector<std::string> >(
"RecHitFlagToBeExcludedEB");
108 const std::vector<std::string> flagnamesEE =
109 config.getParameter<std::vector<std::string> >(
"RecHitFlagToBeExcludedEE");
111 flagsexclEB_ = StringToEnumValue<EcalRecHit::Flags>(flagnamesEB);
113 flagsexclEE_ = StringToEnumValue<EcalRecHit::Flags>(flagnamesEE);
115 const std::vector<std::string> severitynamesEB =
116 config.getParameter<std::vector<std::string> >(
"RecHitSeverityToBeExcludedEB");
118 severitiesexclEB_ = StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynamesEB);
120 const std::vector<std::string> severitynamesEE =
121 config.getParameter<std::vector<std::string> >(
"RecHitSeverityToBeExcludedEE");
123 severitiesexclEE_ = StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynamesEE);
References barrelecalCollection_, bcBarrelCollection_, bcEndcapCollection_, ecalIsoCut_offset_, ecalIsoCut_slope_, endcapecalCollection_, flagsexclEB_, flagsexclEE_, hcalTowers_, hOverEConeSize_, InOutTrackCandidateCollection_, InOutTrackSuperClusterAssociationCollection_, isoConeR_, isoEMin_, isoEtaSlice_, isoEtMin_, isoInnerConeR_, maxHOverE_, measurementTrkEvtToken_, minSCEt_, nEvt_, OutInTrackCandidateCollection_, OutInTrackSuperClusterAssociationCollection_, scHybridBarrelProducer_, scIslandEndcapProducer_, severitiesexclEB_, severitiesexclEE_, AlCaHLTBitMon_QueryRunRegistry::string, useNumXtals_, and vetoClusteredHits_.
◆ ~ConversionTrackCandidateProducer()
ConversionTrackCandidateProducer::~ConversionTrackCandidateProducer |
( |
| ) |
|
|
override |
◆ beginRun()
◆ buildCollections()
void ConversionTrackCandidateProducer::buildCollections |
( |
bool |
detector, |
|
|
const edm::Handle< edm::View< reco::CaloCluster > > & |
scHandle, |
|
|
const edm::Handle< edm::View< reco::CaloCluster > > & |
bcHandle, |
|
|
edm::Handle< EcalRecHitCollection > |
ecalRecHitHandle, |
|
|
const EcalRecHitCollection & |
ecalRecHits, |
|
|
const EcalSeverityLevelAlgo * |
sevLev, |
|
|
const edm::Handle< CaloTowerCollection > & |
hcalTowersHandle, |
|
|
TrackCandidateCollection & |
outInTracks, |
|
|
TrackCandidateCollection & |
inOutTracks, |
|
|
std::vector< edm::Ptr< reco::CaloCluster > > & |
vecRecOI, |
|
|
std::vector< edm::Ptr< reco::CaloCluster > > & |
vecRecIO |
|
) |
| |
|
private |
Definition at line 294 of file ConversionTrackCandidateProducer.cc.
315 for (
auto const& aClus : scHandle->ptrs()) {
317 if (aClus->energy() / cosh(aClus->eta()) <=
minSCEt_)
319 if (aClus->eta() > 1.479 && aClus->eta() < 1.556)
324 double scEt = sc->
energy() / cosh(sc->
eta());
327 double HoE = towerIso.getTowerESum(sc) / sc->
energy();
354 std::vector<Trajectory> theOutInTracks =
362 std::vector<Trajectory> theInOutTracks =
369 for (std::vector<Trajectory>::const_iterator it = theOutInTracks.begin(); it != theOutInTracks.end(); ++it) {
374 for (std::vector<Trajectory>::const_iterator it = theInOutTracks.begin(); it != theInOutTracks.end(); ++it) {
References caloPtrVecInOut_, caloPtrVecOutIn_, EgammaRecHitIsolation::doFlagChecks(), EgammaRecHitIsolation::doSeverityChecks(), DetId::Ecal, ecalIsoCut_offset_, ecalIsoCut_slope_, RecoTauCleanerPlugins::ecalIsolation, reco::CaloCluster::energy(), reco::CaloCluster::eta(), flagsexclEB_, flagsexclEE_, EgammaRecHitIsolation::getEtSum(), EgammaTowerIsolation::getTowerESum(), hOverEConeSize_, PixelPluginsPhase0_cfi::isBarrel, isoConeR_, isoEMin_, isoEtaSlice_, isoEtMin_, isoInnerConeR_, maxHOverE_, minSCEt_, reco::CaloCluster::position(), edm::Handle< T >::product(), EgammaRecHitIsolation::setUseNumCrystals(), EgammaRecHitIsolation::setVetoClustered(), severitiesexclEB_, severitiesexclEE_, theCaloGeom_, theInOutSeedFinder_, theInOutTrackFinder_, theOutInSeedFinder_, theOutInTrackFinder_, useNumXtals_, and vetoClusteredHits_.
Referenced by produce().
◆ produce()
Definition at line 151 of file ConversionTrackCandidateProducer.cc.
171 auto outInTrackCandidate_p = std::make_unique<TrackCandidateCollection>();
173 auto inOutTrackCandidate_p = std::make_unique<TrackCandidateCollection>();
175 auto outInAssoc_p = std::make_unique<reco::TrackCandidateCaloClusterPtrAssociation>();
176 auto inOutAssoc_p = std::make_unique<reco::TrackCandidateCaloClusterPtrAssociation>();
179 bool validBarrelBCHandle =
true;
182 if (!bcBarrelHandle.
isValid()) {
183 edm::LogError(
"ConversionTrackCandidateProducer") <<
"Error! Can't get the Barrel Basic Clusters!";
184 validBarrelBCHandle =
false;
188 bool validEndcapBCHandle =
true;
191 if (!bcEndcapHandle.
isValid()) {
192 edm::LogError(
"CoonversionTrackCandidateProducer") <<
"Error! Can't get the Endcap Basic Clusters";
193 validEndcapBCHandle =
false;
197 bool validBarrelSCHandle =
true;
200 if (!scBarrelHandle.
isValid()) {
201 edm::LogError(
"CoonversionTrackCandidateProducer") <<
"Error! Can't get the barrel superclusters!";
202 validBarrelSCHandle =
false;
206 bool validEndcapSCHandle =
true;
209 if (!scEndcapHandle.
isValid()) {
210 edm::LogError(
"CoonversionTrackCandidateProducer") <<
"Error! Can't get the endcap superclusters!";
211 validEndcapSCHandle =
false;
219 theEvent.getByToken(
hcalTowers_, hcalTowersHandle);
235 if (validBarrelBCHandle && validBarrelSCHandle)
243 *outInTrackCandidate_p,
244 *inOutTrackCandidate_p,
248 if (validEndcapBCHandle && validEndcapSCHandle) {
257 *outInTrackCandidate_p,
258 *inOutTrackCandidate_p,
References barrelecalCollection_, bcBarrelCollection_, bcEndcapCollection_, buildCollections(), caloPtrVecInOut_, caloPtrVecOutIn_, data, endcapecalCollection_, edm::helper::Filler< Map >::fill(), edm::EventSetup::get(), get, edm::Event::getByToken(), hcalTowers_, InOutTrackCandidateCollection_, InOutTrackSuperClusterAssociationCollection_, edm::helper::Filler< Map >::insert(), PixelPluginsPhase0_cfi::isBarrel, edm::HandleBase::isValid(), measurementTrkEvtToken_, eostools::move(), nEvt_, OutInTrackCandidateCollection_, OutInTrackSuperClusterAssociationCollection_, edm::ESHandle< T >::product(), edm::Event::put(), scHybridBarrelProducer_, scIslandEndcapProducer_, setEventSetup(), theCaloGeom_, theInOutSeedFinder_, theOutInSeedFinder_, and theTrajectoryBuilder_.
◆ setEventSetup()
void ConversionTrackCandidateProducer::setEventSetup |
( |
const edm::EventSetup & |
es | ) |
|
|
private |
◆ barrelecalCollection_
◆ bcBarrelCollection_
◆ bcEndcapCollection_
◆ caloPtrVecInOut_
◆ caloPtrVecOutIn_
◆ ecalIsoCut_offset_
double ConversionTrackCandidateProducer::ecalIsoCut_offset_ |
|
private |
◆ ecalIsoCut_slope_
double ConversionTrackCandidateProducer::ecalIsoCut_slope_ |
|
private |
◆ endcapecalCollection_
◆ flagsexclEB_
std::vector<int> ConversionTrackCandidateProducer::flagsexclEB_ |
|
private |
◆ flagsexclEE_
std::vector<int> ConversionTrackCandidateProducer::flagsexclEE_ |
|
private |
◆ hcalTowers_
◆ hOverEConeSize_
double ConversionTrackCandidateProducer::hOverEConeSize_ |
|
private |
◆ InOutTrackCandidateCollection_
std::string ConversionTrackCandidateProducer::InOutTrackCandidateCollection_ |
|
private |
◆ InOutTrackSuperClusterAssociationCollection_
std::string ConversionTrackCandidateProducer::InOutTrackSuperClusterAssociationCollection_ |
|
private |
◆ isoConeR_
double ConversionTrackCandidateProducer::isoConeR_ |
|
private |
◆ isoEMin_
double ConversionTrackCandidateProducer::isoEMin_ |
|
private |
◆ isoEtaSlice_
double ConversionTrackCandidateProducer::isoEtaSlice_ |
|
private |
◆ isoEtMin_
double ConversionTrackCandidateProducer::isoEtMin_ |
|
private |
◆ isoInnerConeR_
double ConversionTrackCandidateProducer::isoInnerConeR_ |
|
private |
◆ maxHOverE_
double ConversionTrackCandidateProducer::maxHOverE_ |
|
private |
◆ measurementTrkEvtToken_
◆ minSCEt_
double ConversionTrackCandidateProducer::minSCEt_ |
|
private |
◆ nEvt_
int ConversionTrackCandidateProducer::nEvt_ |
|
private |
◆ OutInTrackCandidateCollection_
std::string ConversionTrackCandidateProducer::OutInTrackCandidateCollection_ |
|
private |
◆ OutInTrackSuperClusterAssociationCollection_
std::string ConversionTrackCandidateProducer::OutInTrackSuperClusterAssociationCollection_ |
|
private |
◆ scHybridBarrelProducer_
◆ scIslandEndcapProducer_
◆ severitiesexclEB_
std::vector<int> ConversionTrackCandidateProducer::severitiesexclEB_ |
|
private |
◆ severitiesexclEE_
std::vector<int> ConversionTrackCandidateProducer::severitiesexclEE_ |
|
private |
◆ theCaloGeom_
◆ theInOutSeedFinder_
◆ theInOutTrackFinder_
◆ theOutInSeedFinder_
◆ theOutInTrackFinder_
◆ theTrajectoryBuilder_
◆ useNumXtals_
bool ConversionTrackCandidateProducer::useNumXtals_ |
|
private |
◆ vecOfSCRefForInOut
◆ vecOfSCRefForOutIn
◆ vetoClusteredHits_
bool ConversionTrackCandidateProducer::vetoClusteredHits_ |
|
private |
T const * product() const
edm::EDGetTokenT< edm::View< reco::CaloCluster > > scIslandEndcapProducer_
std::vector< int > severitiesexclEB_
edm::EDGetTokenT< edm::View< reco::CaloCluster > > bcBarrelCollection_
std::unique_ptr< BaseCkfTrajectoryBuilder > theTrajectoryBuilder_
T const * product() const
void buildCollections(bool detector, const edm::Handle< edm::View< reco::CaloCluster > > &scHandle, const edm::Handle< edm::View< reco::CaloCluster > > &bcHandle, edm::Handle< EcalRecHitCollection > ecalRecHitHandle, const EcalRecHitCollection &ecalRecHits, const EcalSeverityLevelAlgo *sevLev, const edm::Handle< CaloTowerCollection > &hcalTowersHandle, TrackCandidateCollection &outInTracks, TrackCandidateCollection &inOutTracks, std::vector< edm::Ptr< reco::CaloCluster > > &vecRecOI, std::vector< edm::Ptr< reco::CaloCluster > > &vecRecIO)
std::string OutInTrackCandidateCollection_
std::vector< int > severitiesexclEE_
edm::EDGetTokenT< EcalRecHitCollection > barrelecalCollection_
edm::EDGetTokenT< EcalRecHitCollection > endcapecalCollection_
std::vector< int > flagsexclEE_
edm::EDGetTokenT< CaloTowerCollection > hcalTowers_
std::string InOutTrackSuperClusterAssociationCollection_
std::vector< edm::Ptr< reco::CaloCluster > > caloPtrVecOutIn_
Global3DPoint GlobalPoint
std::unique_ptr< OutInConversionTrackFinder > theOutInTrackFinder_
std::string OutInTrackSuperClusterAssociationCollection_
void setEventSetup(const edm::EventSetup &es)
Initialize EventSetup objects at each event.
std::string InOutTrackCandidateCollection_
std::vector< edm::Ptr< reco::CaloCluster > > caloPtrVecInOut_
double ecalIsoCut_offset_
edm::EDGetTokenT< MeasurementTrackerEvent > measurementTrkEvtToken_
double eta() const
pseudorapidity of cluster centroid
Log< level::Error, false > LogError
const math::XYZPoint & position() const
cluster centroid position
std::unique_ptr< InOutConversionSeedFinder > theInOutSeedFinder_
std::unique_ptr< OutInConversionSeedFinder > theOutInSeedFinder_
edm::EDGetTokenT< edm::View< reco::CaloCluster > > scHybridBarrelProducer_
char data[epos_bytes_allocation]
edm::ESHandle< CaloGeometry > theCaloGeom_
edm::EDGetTokenT< edm::View< reco::CaloCluster > > bcEndcapCollection_
double energy() const
cluster energy
std::unique_ptr< InOutConversionTrackFinder > theInOutTrackFinder_
std::vector< int > flagsexclEB_