35 theThreshold(par.getParameter<double>(
"Threshold")),
36 theDR_Veto(par.getParameter<double>(
"DR_Veto")),
37 theDR_Max(par.getParameter<double>(
"DR_Max")),
38 theExcludeMuonVeto(par.getParameter<
bool>(
"ExcludeMuonVeto")),
40 theAssociator(nullptr),
41 thePrintTimeReport(par.getUntrackedParameter<
bool>(
"PrintTimeReport")) {
83 depJet.setVeto(Veto(vetoDirection,
theDR_Veto));
89 CaloJetCollection::const_iterator jetCI = caloJetsH->begin();
90 for (; jetCI != caloJetsH->end(); ++jetCI) {
98 std::vector<CaloTowerPtr> jetConstituents = jetCI->getCaloConstituents();
100 std::vector<DetId>::const_iterator crossedCI = mInfo.
crossedTowerIds.begin();
101 std::vector<CaloTowerPtr>::const_iterator jetTowCI = jetConstituents.begin();
103 double sumEtExcluded = 0;
104 for (; jetTowCI != jetConstituents.end(); ++jetTowCI) {
105 bool isExcluded =
false;
110 for (; !isExcluded && crossedCI != mInfo.
crossedTowerIds.end(); ++crossedCI) {
111 if (crossedCI->rawId() == (*jetTowCI)->id().rawId()) {
116 sumEtExcluded += (*jetTowCI)->et();
123 double depositEt = jetCI->et();
125 depositEt = depositEt - sumEtExcluded;
128 depJet.addDeposit(jetDir, depositEt);
131 std::vector<const CaloTower*>::const_iterator crossedCI = mInfo.
crossedTowers.begin();
133 for (; crossedCI != mInfo.
crossedTowers.end(); ++crossedCI) {
134 muSumEt += (*crossedCI)->et();
136 depJet.addCandEnergy(muSumEt);