37 BFieldTag_{esConsumes<MagneticField, IdealMagneticFieldRecord>()},
38 nParam_(iConfig.getParameter<
unsigned int>(
"nParam")),
41 produces<l1t::PFTrackCollection>();
45 if (BFieldWatcher_.check(iSetup)) {
53 iEvent.getByToken(TrackTag_, htracks);
54 const auto &
tracks = *htracks;
56 for (
unsigned int i = 0,
n =
tracks.size();
i <
n; ++
i) {
59 float pt = tk.momentum().perp();
60 float eta = tk.momentum().eta();
61 float phi = tk.momentum().phi();
62 float z0 = tk.POCA().z();
63 int charge = tk.rInv() > 0 ? +1 : -1;
edm::ESWatcher< IdealMagneticFieldRecord > BFieldWatcher_
std::pair< float, float > propagateToCalo(const math::XYZTLorentzVector &iMom, const math::XYZTLorentzVector &iVtx, double iCharge, double iBField)
#define DEFINE_FWK_MODULE(type)
Global3DPoint GlobalPoint
void produce(edm::Event &, const edm::EventSetup &) override
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
edm::EDGetTokenT< std::vector< l1t::PFTrack::L1TTTrackType > > TrackTag_
math::XYZPoint Point
point in the space
Abs< T >::type abs(const T &t)
l1tpf::ParametricResolution resolCalo_
bool getData(T &iHolder) const
~PFTrackProducerFromL1Tracks() override
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > BFieldTag_
auto const & tracks
cannot be loose
TTTrack< Ref_Phase2TrackerDigi_ > L1TTTrackType
std::vector< l1t::PFTrack > PFTrackCollection
PFTrackProducerFromL1Tracks(const edm::ParameterSet &)
l1tpf::ParametricResolution resolTrk_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.