File indexing completed on 2023-03-17 11:22:09
0001 #ifndef TrackingForConversion_TrackChargeSelector_h
0002 #define TrackingForConversion_TrackChargeSelector_h
0003
0004
0005
0006
0007
0008
0009 struct TrackChargeSelector {
0010 TrackChargeSelector(int charge) : charge_(charge) {}
0011 template <typename T>
0012 bool operator()(const T& t) const {
0013 return (t.charge() == charge_);
0014 }
0015
0016 private:
0017 int charge_;
0018 };
0019
0020 #include "FWCore/Framework/interface/ConsumesCollector.h"
0021 #include "CommonTools/UtilAlgos/interface/ParameterAdapter.h"
0022
0023 namespace reco {
0024 namespace modules {
0025
0026 template <>
0027 struct ParameterAdapter<TrackChargeSelector> {
0028 static TrackChargeSelector make(const edm::ParameterSet& cfg, edm::ConsumesCollector& iC) {
0029 return TrackChargeSelector(cfg.getParameter<int>("charge"));
0030 }
0031 };
0032
0033 }
0034 }
0035
0036 #endif