47 theNavigationSchool_(0),
48 theOutInSeedFinder_(0),
49 theOutInTrackFinder_(0),
50 theInOutSeedFinder_(0),
51 theInOutTrackFinder_(0)
90 const std::vector<std::string> flagnamesEB =
91 config.
getParameter<std::vector<std::string> >(
"RecHitFlagToBeExcludedEB");
93 const std::vector<std::string> flagnamesEE =
94 config.
getParameter<std::vector<std::string> >(
"RecHitFlagToBeExcludedEE");
97 StringToEnumValue<EcalRecHit::Flags>(flagnamesEB);
100 StringToEnumValue<EcalRecHit::Flags>(flagnamesEE);
102 const std::vector<std::string> severitynamesEB =
103 config.
getParameter<std::vector<std::string> >(
"RecHitSeverityToBeExcludedEB");
106 StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynamesEB);
108 const std::vector<std::string> severitynamesEE =
109 config.
getParameter<std::vector<std::string> >(
"RecHitSeverityToBeExcludedEE");
112 StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynamesEE);
200 bool validBarrelBCHandle=
true;
203 if (!bcBarrelHandle.isValid()) {
205 validBarrelBCHandle=
false;
210 bool validEndcapBCHandle=
true;
213 if (!bcEndcapHandle.isValid()) {
215 validEndcapBCHandle=
false;
221 bool validBarrelSCHandle=
true;
224 if (!scBarrelHandle.isValid()) {
226 validBarrelSCHandle=
false;
231 bool validEndcapSCHandle=
true;
234 if (!scEndcapHandle.isValid()) {
236 validEndcapSCHandle=
false;
257 std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEE(0);
260 std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEB(0);
268 if ( validBarrelBCHandle && validBarrelSCHandle )
269 buildCollections(isBarrel, scBarrelHandle, bcBarrelHandle, ecalhitsCollEB, &(*RecHitsEB), sevLevel, hcalTowersHandle, *outInTrackCandidate_p, *inOutTrackCandidate_p,
caloPtrVecOutIn_,
caloPtrVecInOut_);
271 if ( validEndcapBCHandle && validEndcapSCHandle ) {
273 buildCollections(isBarrel, scEndcapHandle, bcEndcapHandle, ecalhitsCollEE, &(*RecHitsEE), sevLevel, hcalTowersHandle, *outInTrackCandidate_p, *inOutTrackCandidate_p,
caloPtrVecOutIn_,
caloPtrVecInOut_);
335 for (
unsigned i = 0;
i < scHandle->size(); ++
i ) {
340 if (aClus->energy()/cosh(aClus->eta()) <=
minSCEt_)
continue;
343 double scEt = sc->
energy()/cosh(sc->
eta());
390 for (std::vector<Trajectory>::const_iterator it = theOutInTracks.begin(); it != theOutInTracks.end(); ++it) {
395 for (std::vector<Trajectory>::const_iterator it = theInOutTracks.begin(); it != theInOutTracks.end(); ++it) {
edm::InputTag hcalTowers_
T getParameter(std::string const &) const
const math::XYZPoint & position() const
cluster centroid position
void setTracks(std::vector< Trajectory > const &in)
virtual void produce(edm::Event &evt, const edm::EventSetup &es)
void doSeverityChecks(const EcalRecHitCollection *const recHits, const std::vector< int > v)
double getEtSum(const reco::Candidate *emObject) const
std::vector< TrackCandidate > TrackCandidateCollection
std::string OutInTrackCandidateCollection_
void insert(const H &h, I begin, I end)
std::vector< int > severitiesexclEB_
Global3DPoint GlobalPoint
edm::InputTag scIslandEndcapProducer_
edm::InputTag bcEndcapCollection_
std::vector< edm::Ptr< reco::CaloCluster > > caloPtrVecInOut_
OutInConversionSeedFinder * theOutInSeedFinder_
double ecalIsoCut_offset_
void doFlagChecks(const std::vector< int > v)
double eta() const
pseudorapidity of cluster centroid
edm::InputTag barrelecalCollection_
std::vector< int > flagsexclEE_
std::string InOutTrackCandidateCollection_
std::string OutInTrackSuperClusterAssociationCollection_
~ConversionTrackCandidateProducer()
virtual std::vector< Trajectory > tracks(const TrajectorySeedCollection seeds, TrackCandidateCollection &candidate) const
void setUseNumCrystals(bool b=true)
OutInConversionTrackFinder * theOutInTrackFinder_
std::vector< int > severitiesexclEE_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
void setEvent(const edm::Event &e)
edm::InputTag endcapecalCollection_
edm::InputTag bcBarrelCollection_
virtual void makeSeeds(const edm::Handle< edm::View< reco::CaloCluster > > &allBc) const
double energy() const
cluster energy
void buildCollections(bool detector, const edm::Handle< edm::View< reco::CaloCluster > > &scHandle, const edm::Handle< edm::View< reco::CaloCluster > > &bcHandle, edm::Handle< EcalRecHitCollection > ecalRecHitHandle, CaloRecHitMetaCollectionV *metaEcalRecHits, 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)
InOutConversionTrackFinder * theInOutTrackFinder_
virtual void endRun(edm::Run &, edm::EventSetup const &es)
ConversionTrackCandidateProducer(const edm::ParameterSet &ps)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
edm::InputTag scHybridBarrelProducer_
double getTowerESum(const reco::Candidate *, const std::vector< CaloTowerDetId > *detIdToExclude=0) const
std::string InOutTrackSuperClusterAssociationCollection_
edm::ESHandle< CaloGeometry > theCaloGeom_
std::vector< edm::Ptr< reco::CaloCluster > > caloPtrVecOutIn_
TrajectorySeedCollection & seeds()
void setEvent(const edm::Event &e)
T const * product() const
virtual void setCandidate(float e, GlobalPoint pos) const
T const * product() const
std::vector< int > flagsexclEB_
InOutConversionSeedFinder * theInOutSeedFinder_
void setEventSetup(const edm::EventSetup &es)
Initialize EventSetup objects at each event.
void setEventSetup(const edm::EventSetup &es)
Initialize EventSetup objects at each event.
virtual std::vector< Trajectory > tracks(const TrajectorySeedCollection seeds, TrackCandidateCollection &candidates) const
void setVetoClustered(bool b=true)
virtual void beginRun(edm::Run &, edm::EventSetup const &es)
const NavigationSchool * theNavigationSchool_
void setEventSetup(const edm::EventSetup &es)
Initialize EventSetup objects at each event.
virtual void makeSeeds(const edm::Handle< edm::View< reco::CaloCluster > > &allBc) const