36 theThreshold(par.getParameter<double>(
"Threshold")),
37 theDR_Veto(par.getParameter<double>(
"DR_Veto")),
38 theDR_Max(par.getParameter<double>(
"DR_Max")),
39 theExcludeMuonVeto(par.getParameter<
bool>(
"ExcludeMuonVeto")),
42 thePrintTimeReport(par.getUntrackedParameter<
bool>(
"PrintTimeReport"))
73 typedef IsoDeposit::Veto Veto;
74 IsoDeposit::Direction muonDir(muon.
eta(), muon.
phi());
87 depJet.setVeto(Veto(vetoDirection,
theDR_Veto));
94 CaloJetCollection::const_iterator jetCI = caloJetsH->begin();
95 for (; jetCI != caloJetsH->end(); ++jetCI){
101 std::vector<CaloTowerPtr> jetConstituents = jetCI->getCaloConstituents();
103 std::vector<DetId>::const_iterator crossedCI = mInfo.
crossedTowerIds.begin();
104 std::vector<CaloTowerPtr>::const_iterator jetTowCI = jetConstituents.begin();
106 double sumEtExcluded = 0;
107 for (;jetTowCI != jetConstituents.end(); ++ jetTowCI){
108 bool isExcluded =
false;
113 for(; ! isExcluded && crossedCI != mInfo.
crossedTowerIds.end(); ++crossedCI){
114 if (crossedCI->rawId() == (*jetTowCI)->id().rawId()){
118 if (isExcluded) sumEtExcluded += (*jetTowCI)->et();
121 if (jetCI->et() - sumEtExcluded <
theThreshold )
continue;
124 double depositEt = jetCI->et();
128 depJet.addDeposit(jetDir, depositEt);
132 std::vector<const CaloTower*>::const_iterator crossedCI = mInfo.
crossedTowers.begin();
135 muSumEt += (*crossedCI)->et();
137 depJet.addCandEnergy(muSumEt);
T getParameter(std::string const &) const
std::vector< const CaloTower * > crossedTowers
std::vector< DetId > crossedTowerIds
std::vector< Track > TrackCollection
collection of Tracks
void loadParameters(const edm::ParameterSet &, edm::ConsumesCollector &)
double phi() const
azimuthal angle of momentum vector
math::XYZPoint trkGlobPosAtHcal
double eta() const
pseudorapidity of momentum vector
void setPropagator(const Propagator *)
use a user configured propagator
TrackAssociatorParameters
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
FreeTrajectoryState initialFreeState() const
TrackDetMatchInfo associate(const edm::Event &, const edm::EventSetup &, const FreeTrajectoryState &, const AssociatorParameters &)
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects