3 #include <Math/GenVector/PxPyPzM4D.h> 26 ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >
vec1;
27 ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >
vec2;
29 vec1.SetPx(tracks[0]->px());
30 vec1.SetPy(tracks[0]->py());
31 vec1.SetPz(tracks[0]->pz());
34 vec2.SetPx(tracks[1]->px());
35 vec2.SetPy(tracks[1]->py());
36 vec2.SetPz(tracks[1]->pz());
39 double invariantMass = (vec1 +
vec2).M();
49 std::vector<const reco::Track*> trackPtrs(n);
50 for(
unsigned int i = 0;
i <
n;
i++)
51 trackPtrs[
i] = &*tracks[
i];
53 return (*
this)(&trackPtrs[0],
n);
59 if (tracks.size() != 2)
62 if (tracks[0]->
charge() * tracks[1]->charge() > 0)
65 double invariantMass = (tracks[0]->p4()+tracks[1]->p4()).M();
75 return (*
this)(&tracks[0], tracks.size());
82 std::vector<const reco::Track*> trackPtrs(n);
83 for(
unsigned int i = 0;
i <
n;
i++)
84 trackPtrs[
i] = &tracks[
i];
86 return (*
this)(&trackPtrs[0],
n);
std::vector< double > vec1
Abs< T >::type abs(const T &t)
V0Filter(const edm::ParameterSet ¶ms)
bool operator()(const reco::TrackRef *tracks, unsigned int n) const