1 #ifndef HeavyFlavorAnalysis_SpecificDecay_BPHDecayToFlyingCascadeBuilder_h 2 #define HeavyFlavorAnalysis_SpecificDecay_BPHDecayToFlyingCascadeBuilder_h 40 template <
class ProdType,
class FlyingType>
53 const std::vector<flying_ptr>& flyCollection)
72 const std::vector<flying_ptr>& fc = *this->
fCollection;
87 std::vector<prod_ptr> tempList;
89 int nRec = prodList.size();
90 tempList.reserve(nRec);
91 for (iRec = 0; iRec < nRec; ++iRec) {
93 ProdType* cptr = ctmp->clone();
98 cptr->resetKinematicFit();
104 const std::vector<std::string>& cList = ctmp->compNames();
106 int nComp = cList.size();
107 for (iComp = 0; iComp < nComp; ++iComp) {
109 dMap[
cand->getComp(cName).get()] = ctmp->getComp(cName).get();
111 tempList.push_back(
cand);
ProdType::const_pointer prod_ptr
BPHMassFitSelect * mFitSel
std::map< const BPHRecoCandidate *, const BPHRecoCandidate * > dMap
void fitAndFilter(std::vector< prod_ptr > &prodList)
fit and select candidates
FlyingType::const_pointer flying_ptr
BPHMassFitSelect * flySel
bool accept(const BPHKinematicFit &cand) const override
select vertex
BPHKinFitChi2Select * kfChi2Sel
double getProbMin() const
get current prob min
double getMassMax() const
std::vector< flying_ptr > fCollectSel
BPHDecayToFlyingCascadeBuilder & operator=(const BPHDecayToFlyingCascadeBuilder &x)=delete
void add(const std::string &name, const BPHGenericCollection *collection, double mass=-1.0, double msig=-1.0)
void addFlyCollection(BPHRecoBuilder &brb) override
BPHDecayToFlyingCascadeBuilder(const std::vector< flying_ptr > &flyCollection)
~BPHDecayToFlyingCascadeBuilder() override=default
const std::vector< flying_ptr > * fCollection
BPHDecayToFlyingCascadeBuilder(const BPHEventSetupWrapper &es, const std::string &flyName, double flyMass, double flyMSigma, const std::vector< flying_ptr > &flyCollection)
bool accept(const BPHKinematicFit &cand) const override
select particle