18 #include "Math/GenVector/VectorUtil.h" 19 #include "Math/GenVector/PxPyPzE4D.h" 24 tok_uncor_(consumes<
trigger::TriggerFilterObjectWithRefs>(config.getParameter<
edm::InputTag>(
"filterLabel"))),
25 assocCone_(config.getParameter<double>(
"associationCone")) {
27 produces<reco::IsolatedPixelTrackCandidateCollection>();
34 desc.
add<
double>(
"associationCone", 0.2);
35 descriptions.
add(
"iptCorrector", desc);
39 auto trackCollection = std::make_unique<reco::IsolatedPixelTrackCandidateCollection>();
47 std::vector<edm::Ref<reco::IsolatedPixelTrackCandidateCollection> > isoPixTrackRefs;
51 int nCand = isoPixTrackRefs.size();
55 for (
int p = 0;
p < nCand;
p++) {
56 double iptEta = isoPixTrackRefs[
p]->track()->eta();
57 double iptPhi = isoPixTrackRefs[
p]->track()->phi();
61 reco::TrackCollection::const_iterator citSel;
63 for (reco::TrackCollection::const_iterator cit = corTracks->begin(); cit != corTracks->end(); cit++) {
64 double dR =
deltaR(cit->eta(), cit->phi(), iptEta, iptPhi);
74 isoPixTrackRefs[
p]->l1tau(),
75 isoPixTrackRefs[
p]->maxPtPxl(),
76 isoPixTrackRefs[
p]->sumPtPxl());
77 newCandidate.
setEnergyIn(isoPixTrackRefs[
p]->energyIn());
78 newCandidate.setEnergyOut(isoPixTrackRefs[
p]->energyOut());
79 newCandidate.setNHitIn(isoPixTrackRefs[
p]->nHitIn());
80 newCandidate.setNHitOut(isoPixTrackRefs[
p]->nHitOut());
81 if (isoPixTrackRefs[
p]->etaPhiEcalValid()) {
82 std::pair<double, double>
etaphi = (isoPixTrackRefs[
p]->etaPhiEcal());
83 newCandidate.setEtaPhiEcal(etaphi.first, etaphi.second);
const edm::EDGetTokenT< reco::TrackCollection > tok_cor_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > tok_uncor_
std::vector< Track > TrackCollection
collection of Tracks
std::pair< T, T > etaphi(T x, T y, T z)
IPTCorrector(const edm::ParameterSet &ps)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void setEnergyIn(double a)
void produce(edm::StreamID, edm::Event &, edm::EventSetup const &) const override