9 l2CaloJets_(consumes<
CaloJetCollection>(iConfig.getParameter<edm::InputTag>(
"L2TauJetCollection"))),
10 EBRecHits_(consumes<
EBRecHitCollection>(iConfig.getParameter<edm::InputTag>(
"EBRecHits"))),
11 EERecHits_(consumes<
EERecHitCollection>(iConfig.getParameter<edm::InputTag>(
"EERecHits"))),
12 CaloTowers_(consumes<
CaloTowerCollection>(iConfig.getParameter<edm::InputTag>(
"CaloTowers"))),
13 associationRadius_(iConfig.getParameter<double>(
"associationRadius")),
14 crystalThresholdE_(iConfig.getParameter<double>(
"crystalThresholdEE")),
15 crystalThresholdB_(iConfig.getParameter<double>(
"crystalThresholdEB")),
16 towerThreshold_(iConfig.getParameter<double>(
"towerThreshold"))
38 produces<L2TauInfoAssociation>();
63 if(l2CaloJets->size()>0)
65 CaloJetCollection::const_iterator jcStart = l2CaloJets->begin();
67 for(CaloJetCollection::const_iterator jc = jcStart ;jc!=l2CaloJets->end();++jc)
103 if(hitsHCAL.size()>0)
109 l2InfoAssoc->insert(jcRef, info);
114 iEvent.
put(l2InfoAssoc);
137 for(
size_t i=0;
i<towers->size();++
i)
143 towers2.push_back(tower);
185 double et = energy *
sin(theta);
189 jetRecHits.push_back(p);
203 double et = energy *
sin(theta);
207 jetRecHits.push_back(p);
math::PtEtaPhiELorentzVectorCollection clusterize(const math::PtEtaPhiELorentzVectorCollection &)
void setSeedHcalHitEt(double et)
T getParameter(std::string const &) const
Jets made from CaloTowers.
void setEcalClusterShape(const std::vector< double > &shape)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
double crystalThresholdB_
Sin< T >::type sin(const T &t)
Geom::Phi< T > phi() const
std::vector< EcalRecHit >::const_iterator const_iterator
Geom::Theta< T > theta() const
double associationRadius_
edm::EDGetTokenT< CaloTowerCollection > CaloTowers_
L2TauNarrowConeIsolationProducer(const edm::ParameterSet &)
math::PtEtaPhiELorentzVectorCollection getHCALHits(const CaloJet &, const edm::Event &)
virtual const CaloCellGeometry * getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
reco::CaloJetCollection CaloJetCollection
Geom::Theta< T > theta() const
void setSeedEcalHitEt(double et)
void setEcalIsolEt(double et)
void setNEcalHits(int hits)
double isolatedEt(const math::PtEtaPhiELorentzVectorCollection &, const math::XYZVector &, double innerCone, double outerCone) const
double TowerIsolation_innerCone_
std::vector< PtEtaPhiELorentzVector > PtEtaPhiELorentzVectorCollection
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
double ECALIsolation_outerCone_
void setHcalIsolEt(double et)
CrystalPtComparator comparePt
edm::EDGetTokenT< EBRecHitCollection > EBRecHits_
void hitsHCAL(std::vector< DetId > &vdets, edm::Handle< T > &hits, std::vector< typename T::const_iterator > &hitlist, bool debug=false)
double TowerIsolation_outerCone_
PtEtaPhiELorentzVectorD PtEtaPhiELorentzVector
Lorentz vector with cartesian internal representation.
math::PtEtaPhiELorentzVectorCollection getECALHits(const CaloJet &, const edm::Event &, const edm::EventSetup &iSetup)
double ECALClustering_clusterRadius_
virtual void produce(edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< EERecHitCollection > EERecHits_
ESHandle< TrackerGeometry > geometry
std::vector< double > clusterShape(const math::PtEtaPhiELorentzVectorCollection &, const math::XYZVector &, double innerCone, double outerCone) const
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
double crystalThresholdE_
edm::EDGetTokenT< reco::CaloJetCollection > l2CaloJets_
double ECALIsolation_innerCone_
~L2TauNarrowConeIsolationProducer()