1 #ifndef RECOTAUTAG_TAUMVADISCRIMINATOR_GENERATORTAU
2 #define RECOTAUTAG_TAUMVADISCRIMINATOR_GENERATORTAU
45 std::vector<const reco::Candidate*>
getGenGammas()
const;
48 std::vector<const reco::Candidate*>
getGenNu()
const;
56 std::vector<LorentzVector>
getGammas()
const;
63 float getOpeningAngle(
const std::vector<const reco::GenParticle*>& aCollection)
const;
85 std::vector<const reco::GenParticle*>
genNus_;
tauDecayModeEnum theDecayMode_
std::vector< const reco::Candidate * > getGenGammas() const
std::vector< const reco::GenParticle * > genNus_
float getChargedOpeningAngle() const
std::vector< const reco::GenParticle * > genNeutralPions_
std::vector< LorentzVector > convertMCVectorToLorentzVectors(const std::vector< const reco::GenParticle * > &theList) const
const reco::GenParticle * theLeadTrack_
bool isFinalStateTau() const
tauDecayModeEnum computeDecayMode(const reco::GenParticle *)
math::XYZTLorentzVector LorentzVector
std::vector< LorentzVector > getChargedPions() const
std::vector< LorentzVector > getVisibleFourVectors() const
tauDecayModeEnum getDecayType() const
LorentzVector getVisibleFourVector() const
static std::string const input
GenParticle()
default constructor
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
GeneratorTau(const reco::GenParticle &input)
float getGammaOpeningAngle() const
LorentzVector convertHepMCFourVec(const reco::GenParticle *theParticle)
DeltaR< LorentzVector > deltaRFinder
std::vector< const reco::GenParticle * > genGammas_
Angle< LorentzVector > angleFinder
float getVisNuAngle() const
std::vector< const reco::Candidate * > getStableDecayProducts() const
std::vector< LorentzVector > getGammas() const
std::vector< const reco::Candidate * > getGenNeutralPions() const
void decayToPDGClassification(const reco::GenParticle *, std::vector< const reco::GenParticle * > &)
Return list of stable & "semi-stable" tau decay products (e.g. decay the rhos)
const reco::Candidate * getLeadTrack() const
void computeStableDecayProducts(const reco::GenParticle *, std::vector< const reco::GenParticle * > &)
std::vector< const reco::GenParticle * > stableDecayProducts_
std::vector< const reco::Candidate * > getGenChargedPions() const
const reco::GenParticle * findLeadTrack()
std::vector< const reco::Candidate * > getGenNu() const
std::vector< const reco::GenParticle * > genChargedPions_
std::vector< const reco::GenParticle * > visibleDecayProducts_
float getOpeningAngle(const std::vector< const reco::GenParticle * > &aCollection) const
math::PtEtaPhiELorentzVectorF LorentzVector