50 theNavigationSchool_(0),
51 theOutInSeedFinder_(0),
52 theOutInTrackFinder_(0),
53 theInOutSeedFinder_(0),
54 theInOutTrackFinder_(0)
100 const std::vector<std::string> flagnamesEB =
101 config.
getParameter<std::vector<std::string> >(
"RecHitFlagToBeExcludedEB");
103 const std::vector<std::string> flagnamesEE =
104 config.
getParameter<std::vector<std::string> >(
"RecHitFlagToBeExcludedEE");
107 StringToEnumValue<EcalRecHit::Flags>(flagnamesEB);
110 StringToEnumValue<EcalRecHit::Flags>(flagnamesEE);
112 const std::vector<std::string> severitynamesEB =
113 config.
getParameter<std::vector<std::string> >(
"RecHitSeverityToBeExcludedEB");
116 StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynamesEB);
118 const std::vector<std::string> severitynamesEE =
119 config.
getParameter<std::vector<std::string> >(
"RecHitSeverityToBeExcludedEE");
122 StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynamesEE);
197 std::auto_ptr<BaseCkfTrajectoryBuilder> trajectoryBuilder;
220 bool validBarrelBCHandle=
true;
223 if (!bcBarrelHandle.isValid()) {
225 <<
"Error! Can't get the Barrel Basic Clusters!";
226 validBarrelBCHandle=
false;
231 bool validEndcapBCHandle=
true;
234 if (!bcEndcapHandle.isValid()) {
236 <<
"Error! Can't get the Endcap Basic Clusters";
237 validEndcapBCHandle=
false;
243 bool validBarrelSCHandle=
true;
246 if (!scBarrelHandle.isValid()) {
248 <<
"Error! Can't get the barrel superclusters!";
249 validBarrelSCHandle=
false;
254 bool validEndcapSCHandle=
true;
257 if (!scEndcapHandle.isValid()) {
259 <<
"Error! Can't get the endcap superclusters!";
260 validEndcapSCHandle=
false;
281 std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEE(0);
284 std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEB(0);
292 if ( validBarrelBCHandle && validBarrelSCHandle )
293 buildCollections(isBarrel, scBarrelHandle, bcBarrelHandle, ecalhitsCollEB, &(*RecHitsEB), sevLevel, hcalTowersHandle, *outInTrackCandidate_p, *inOutTrackCandidate_p,
caloPtrVecOutIn_,
caloPtrVecInOut_);
295 if ( validEndcapBCHandle && validEndcapSCHandle ) {
297 buildCollections(isBarrel, scEndcapHandle, bcEndcapHandle, ecalhitsCollEE, &(*RecHitsEE), sevLevel, hcalTowersHandle, *outInTrackCandidate_p, *inOutTrackCandidate_p,
caloPtrVecOutIn_,
caloPtrVecInOut_);
359 for (
unsigned i = 0;
i < scHandle->size(); ++
i ) {
364 if (aClus->energy()/cosh(aClus->eta()) <=
minSCEt_)
continue;
365 if (aClus->eta() > 1.479 && aClus->eta() < 1.556 )
continue;
369 double scEt = sc->
energy()/cosh(sc->
eta());
416 for (std::vector<Trajectory>::const_iterator it = theOutInTracks.begin(); it != theOutInTracks.end(); ++it) {
421 for (std::vector<Trajectory>::const_iterator it = theInOutTracks.begin(); it != theInOutTracks.end(); ++it) {
T getParameter(std::string const &) const
const math::XYZPoint & position() const
cluster centroid position
void setTracks(std::vector< Trajectory > const &in)
virtual void endRun(edm::Run const &, edm::EventSetup const &es) overridefinal
virtual void produce(edm::Event &evt, const edm::EventSetup &es)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< edm::View< reco::CaloCluster > > scIslandEndcapProducer_
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
void setTrajectoryBuilder(const TrajectoryBuilder &builder)
edm::EDGetTokenT< EcalRecHitCollection > endcapecalCollection_
std::vector< edm::Ptr< reco::CaloCluster > > caloPtrVecInOut_
OutInConversionSeedFinder * theOutInSeedFinder_
double ecalIsoCut_offset_
double eta() const
pseudorapidity of cluster centroid
void doFlagChecks(const std::vector< int > &v)
std::vector< int > flagsexclEE_
std::string InOutTrackCandidateCollection_
std::string OutInTrackSuperClusterAssociationCollection_
virtual std::vector< Trajectory > tracks(const TrajectorySeedCollection &seeds, TrackCandidateCollection &candidate) const
~ConversionTrackCandidateProducer()
void setUseNumCrystals(bool b=true)
OutInConversionTrackFinder * theOutInTrackFinder_
std::vector< int > severitiesexclEE_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
edm::ESHandle< TrajectoryBuilder > theTrajectoryBuilder_
virtual void makeSeeds(const edm::Handle< edm::View< reco::CaloCluster > > &allBc) const
double energy() const
cluster energy
edm::EDGetTokenT< CaloTowerCollection > hcalTowers_
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_
double getTowerESum(const reco::Candidate *cand, const std::vector< CaloTowerDetId > *detIdToExclude=0) const
ConversionTrackCandidateProducer(const edm::ParameterSet &ps)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
void doSeverityChecks(const EcalRecHitCollection *const recHits, const std::vector< int > &v)
std::string trajectoryBuilderName_
std::string InOutTrackSuperClusterAssociationCollection_
edm::ESHandle< CaloGeometry > theCaloGeom_
std::vector< edm::Ptr< reco::CaloCluster > > caloPtrVecOutIn_
edm::EDGetTokenT< edm::View< reco::CaloCluster > > scHybridBarrelProducer_
TrajectorySeedCollection & seeds()
virtual std::vector< Trajectory > tracks(const TrajectorySeedCollection &seeds, TrackCandidateCollection &candidates) const
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.
edm::EDGetTokenT< edm::View< reco::CaloCluster > > bcBarrelCollection_
char data[epos_bytes_allocation]
void setVetoClustered(bool b=true)
edm::EDGetTokenT< edm::View< reco::CaloCluster > > bcEndcapCollection_
virtual void beginRun(edm::Run const &, edm::EventSetup const &es) overridefinal
const NavigationSchool * theNavigationSchool_
edm::EDGetTokenT< EcalRecHitCollection > barrelecalCollection_
void setEventSetup(const edm::EventSetup &es)
Initialize EventSetup objects at each event.
virtual void makeSeeds(const edm::Handle< edm::View< reco::CaloCluster > > &allBc) const