1 #ifndef HeavyFlavorAnalysis_RecoDecay_BPHRecoBuilder_h
2 #define HeavyFlavorAnalysis_RecoDecay_BPHRecoBuilder_h
75 virtual int size()
const = 0;
128 std::map<std::string, BPHDecayMomentum::Component>
daugMap;
129 std::map<std::string, BPHRecoConstCandPtr>
compMap;
133 std::vector<ComponentSet>
build()
const;
145 typedef std::vector<const reco::Candidate*>
rcpV;
185 mutable std::map<std::string, const reco::Candidate*>
daugMap;
186 mutable std::map<std::string, BPHRecoConstCandPtr>
compMap;
200 std::vector<const BPHMomentumSelect*>
msList;
201 std::vector<const BPHVertexSelect*>
vsList;
209 void build(std::vector<ComponentSet>& compList,
211 std::vector<BPHRecoSource*>::const_iterator r_iter,
212 std::vector<BPHRecoSource*>::const_iterator r_iend,
213 std::vector<BPHCompSource*>::const_iterator c_iter,
214 std::vector<BPHCompSource*>::const_iterator c_iend)
const;
245 int n = collection.size();
246 std::vector<BPHRecoConstCandPtr>* compCandList =
new std::vector<BPHRecoConstCandPtr>(
n);
247 for (i = 0; i <
n; ++
i)
248 (*compCandList)[
i] = collection[
i];
251 add(name, *compCandList);
std::vector< const BPHRecoSelect * > selector
static bool sameTrack(const reco::Candidate *lCand, const reco::Candidate *rCand, double minPDifference)
void setMinPDiffererence(double pMin)
const edm::EventSetup & c
std::map< std::string, BPHRecoConstCandPtr > compMap
BPHGenericPtr< const BPHRecoCandidate >::type BPHRecoConstCandPtr
virtual ~BPHRecoBuilder()
std::vector< ComponentSet > build() const
build a set of combinations of particles fulfilling the selections
std::vector< const BPHFitSelect * > fsList
const std::vector< BPHRecoConstCandPtr > * collection
std::map< std::string, BPHDecayMomentum::Component > daugMap
const edm::EventSetup * evSetup
BPHSpecificCollection(const T &c, const std::string &list)
BPHGenericCollection(const std::string &list)
bool accept(const BPHRecoCandidate &cand) const
std::vector< BPHCompSource * > srCompList
const BPHGenericCollection * collection
const edm::EventSetup * eventSetup() const
get the EventSetup set in the constructor
static BPHGenericCollection * createCollection(const edm::Handle< T > &collection, const std::string &list="cfhpmig")
std::vector< const BPHVertexSelect * > vsList
std::map< std::string, const reco::Candidate * > daugMap
std::vector< const BPHFitSelect * > fitSelector
std::vector< BPHRecoSource * > sourceList
virtual ~BPHGenericCollection()
void add(const std::string &name, const BPHGenericCollection *collection, double mass=-1.0, double msig=-1.0)
BPHSpecificCollection(const BPHRecoBuilder::rcpV &c, const std::string &list)
int size() const override
const std::string & searchList() const
std::vector< const reco::Candidate * > rcpV
virtual int size() const =0
std::vector< const BPHMomentumSelect * > momSelector
BPHInterfaceCollection(const T &c, const std::string &list)
void filter(const std::string &name, const BPHRecoSelect &sel) const
std::map< std::string, BPHRecoConstCandPtr > compMap
std::vector< const BPHMomentumSelect * > msList
std::vector< const BPHVertexSelect * > vtxSelector
bool contained(ComponentSet &compSet, const reco::Candidate *cand) const
std::set< const std::vector< BPHRecoConstCandPtr > * > compCollectList
~BPHInterfaceCollection() override
BPHRecoBuilder(const edm::EventSetup &es)
BPHRecoBuilder & operator=(const BPHRecoBuilder &x)=delete
std::map< std::string, int > srCompId
std::map< std::string, int > sourceId