19 if (!vtx.
isValid())
return -9999.;
23 double dbsx = vtx.
x() - myBeamSpot.x();
24 double dbsy = vtx.
y() - myBeamSpot.y();
25 double lxy = (mom.x()*dbsx + mom.y()*dbsy)/mom.rho();
45 validToken = iEvent.
getByToken(Conversion_, convs_h);
46 if(!validToken)
return;
49 validToken = iEvent.
getByToken(BeamSpot_, beamSpotH);
50 if(!validToken)
return;
53 it != convs_h->end(); it++) {
58 for(
int iM = 0; iM < 32; ++iM) {
64 vector<edm::RefToBase<reco::Track> > v_temp_trks = it->tracks();
65 vector<int> v_temp_out;
66 vector<int> v_temp_outalgo;
67 for(
unsigned int i = 0;
i < v_temp_trks.size();
i++) {
68 v_temp_out.push_back(v_temp_trks.at(
i).key());
69 v_temp_outalgo.push_back(v_temp_trks.at(
i)->algo());
77 v_temp_outalgo.clear();
78 vector<uint8_t> v_temp_nhits = it->nHitsBeforeVtx();
80 for(
unsigned int i = 0;
i < v_temp_nhits.size();
i++) v_temp_out.push_back(v_temp_nhits.at(
i));
83 hww.
convs_ndof().push_back(it->conversionVertex().ndof() );
84 hww.
convs_chi2().push_back(it->conversionVertex().chi2() );
85 hww.
convs_dl().push_back(
lxy(beamSpotH->position(), *it));
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
double lxy(const math::XYZPoint &myBeamSpot, const Conversion &conv)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
void SetVars(HWW &, const edm::Event &, const edm::EventSetup &)
void Load_convs_isConverted()
RecoConversionMaker(const edm::ParameterSet &, edm::ConsumesCollector)
void Load_convs_nHitsBeforeVtx()
static HepMC::IO_HEPEVT conv
bool getByToken(EDGetToken token, Handle< PROD > &result) const
double y() const
y coordinate
bool isValid() const
Tells whether the vertex is valid.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
void Load_convs_quality()
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
std::vector< std::vector< int > > & convs_nHitsBeforeVtx()
std::vector< std::vector< int > > & convs_tkalgo()
std::vector< float > & convs_chi2()
std::vector< float > & convs_ndof()
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
std::vector< int > & convs_quality()
std::vector< float > & convs_dl()
double x() const
x coordinate
XYZPointD XYZPoint
point in space with cartesian internal representation
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< float > > XYZTLorentzVectorF
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::vector< int > & convs_isConverted()
std::vector< std::vector< int > > & convs_tkidx()
math::PtEtaPhiELorentzVectorF LorentzVector