1 #ifndef DataFormats_FWLite_DataGetterHelper_h
2 #define DataFormats_FWLite_DataGetterHelper_h
21 #if !defined(__CINT__) && !defined(__MAKECINT__)
43 class BranchDescription;
47 class ThinnedAssociation;
57 std::shared_ptr<HistoryGetterBase> historyGetter,
58 std::shared_ptr<BranchMapReader> branchMap = std::shared_ptr<BranchMapReader>(),
59 std::shared_ptr<edm::EDProductGetter>
getter = std::shared_ptr<edm::EDProductGetter>(),
60 bool useCache =
false);
70 virtual bool getByLabel(std::type_info
const&,
char const*,
char const*,
char const*,
void*, Long_t)
const;
75 std::vector<edm::WrapperBase const*>& foundContainers,
76 std::vector<unsigned int>&
keys,
77 Long_t eventEntry)
const;
96 typedef std::map<internal::DataKey, std::shared_ptr<internal::Data> >
KeyToDataMap;
112 mutable std::map<std::pair<edm::ProductID, edm::BranchListIndex>,std::shared_ptr<internal::Data> >
idToData_;
113 mutable std::map<edm::BranchID, std::shared_ptr<internal::Data> >
bidToData_;
115 std::shared_ptr<edm::EDProductGetter>
getter_;
edm::WrapperBase const * getByBranchID(edm::BranchID const &bid, Long_t eventEntry) const
edm::ThinnedAssociation const * getThinnedAssociation(edm::BranchID const &branchID, Long_t eventEntry) const
edm::EDProductGetter * getter()
std::vector< char const * > labels_
std::map< edm::BranchID, std::shared_ptr< internal::Data > > bidToData_
std::shared_ptr< edm::EDProductGetter > getter_
std::shared_ptr< fwlite::HistoryGetterBase > historyGetter_
virtual std::string const getBranchNameFor(std::type_info const &, char const *, char const *, char const *) const
std::map< std::pair< edm::ProductID, edm::BranchListIndex >, std::shared_ptr< internal::Data > > idToData_
void getThinnedProducts(edm::ProductID const &pid, std::vector< edm::WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys, Long_t eventEntry) const
bool getByBranchDescription(edm::BranchDescription const &, Long_t eventEntry, KeyToDataMap::iterator &) const
const edm::ProcessHistory & history() const
std::map< internal::DataKey, std::shared_ptr< internal::Data > > KeyToDataMap
edm::WrapperBase const * getByProductID(edm::ProductID const &pid, Long_t eventEntry) const
DataGetterHelper(TTree *tree, std::shared_ptr< HistoryGetterBase > historyGetter, std::shared_ptr< BranchMapReader > branchMap=std::shared_ptr< BranchMapReader >(), std::shared_ptr< edm::EDProductGetter > getter=std::shared_ptr< edm::EDProductGetter >(), bool useCache=false)
void setGetter(std::shared_ptr< edm::EDProductGetter > getter)
const DataGetterHelper & operator=(const DataGetterHelper &)
virtual ~DataGetterHelper()
string key
FastSim: produces sample of signal events, overlayed with premixed minbias events.
std::shared_ptr< BranchMapReader > branchMap_
void getBranchData(edm::EDProductGetter *, Long64_t, internal::Data &) const
internal::Data & getBranchDataFor(std::type_info const &, char const *, char const *, char const *) const
virtual bool getByLabel(std::type_info const &, char const *, char const *, char const *, void *, Long_t) const
edm::WrapperBase const * getThinnedProduct(edm::ProductID const &pid, unsigned int &key, Long_t eventEntry) const
edm::WrapperBase const * wrapperBasePtr(edm::ObjectWithDict const &) const