23 using namespace muonisolation;
26 JetExtractor::JetExtractor() {}
32 theThreshold(par.getParameter<double>(
"Threshold")),
33 theDR_Veto(par.getParameter<double>(
"DR_Veto")),
34 theDR_Max(par.getParameter<double>(
"DR_Max")),
35 theExcludeMuonVeto(par.getParameter<bool>(
"ExcludeMuonVeto")),
37 theAssociator(nullptr),
38 thePrintTimeReport(par.getUntrackedParameter<bool>(
"PrintTimeReport")) {
60 typedef IsoDeposit::Veto Veto;
61 IsoDeposit::Direction muonDir(muon.
eta(), muon.
phi());
72 depJet.setVeto(Veto(vetoDirection,
theDR_Veto));
78 CaloJetCollection::const_iterator jetCI = caloJetsH->begin();
79 for (; jetCI != caloJetsH->end(); ++jetCI) {
87 std::vector<CaloTowerPtr> jetConstituents = jetCI->getCaloConstituents();
89 std::vector<DetId>::const_iterator crossedCI = mInfo.
crossedTowerIds.begin();
90 std::vector<CaloTowerPtr>::const_iterator jetTowCI = jetConstituents.begin();
92 double sumEtExcluded = 0;
93 for (; jetTowCI != jetConstituents.end(); ++jetTowCI) {
94 bool isExcluded =
false;
99 for (; !isExcluded && crossedCI != mInfo.
crossedTowerIds.end(); ++crossedCI) {
100 if (crossedCI->rawId() == (*jetTowCI)->id().rawId()) {
105 sumEtExcluded += (*jetTowCI)->et();
112 double depositEt = jetCI->et();
114 depositEt = depositEt - sumEtExcluded;
117 depJet.addDeposit(jetDir, depositEt);
120 std::vector<const CaloTower*>::const_iterator crossedCI = mInfo.
crossedTowers.begin();
122 for (; crossedCI != mInfo.
crossedTowers.end(); ++crossedCI) {
123 muSumEt += (*crossedCI)->et();
125 depJet.addCandEnergy(muSumEt);
std::vector< const CaloTower * > crossedTowers
std::vector< DetId > crossedTowerIds
std::vector< Track > TrackCollection
collection of Tracks
double phi() const
azimuthal angle of momentum vector
math::XYZPoint trkGlobPosAtHcal
bool getData(T &iHolder) const
double eta() const
pseudorapidity of momentum vector
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
FreeTrajectoryState initialFreeState() const
T getParameter(std::string const &) const
thePropagatorName(iConfig.getParameter< std::string >("Propagator"))
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects