51 produces<edm::ValueMap<float> >(
"dist");
52 produces<edm::ValueMap<float> >(
"dcot");
53 produces<edm::ValueMap<float> >(
"convradius");
54 produces<edm::ValueMap<float> >(
"passConvRej");
75 float evt_bField = 3.8;
80 std::vector<float> values2;
81 std::vector<float> values3;
82 std::vector<float> values4;
87 double convradius = 0.0;
88 double passConvRej = 0.0;
93 reco::GsfElectronCollection::const_iterator eleIt = electronCollection->begin();
95 for (probe = probes->begin(); probe != endprobes; ++probe) {
96 for (eleIt=electronCollection->begin(); eleIt!=electronCollection->end(); eleIt++) {
97 if( fabs(eleIt->et() - probe->et() ) < 0.05 && fabs(eleIt->eta() - probe->eta() ) < 0.01
98 && fabs(eleIt->phi() - probe->phi() ) < 0.01 ){
101 dist = convInfo.
dist();
102 dcot = convInfo.
dcot();
104 if( fabs(dist)>0.02 && fabs(dcot)>0.02) passConvRej = 1.0;
108 values.push_back(dist);
109 values2.push_back(dcot);
110 values3.push_back(convradius);
111 values4.push_back(passConvRej);
116 auto valMap = std::make_unique<ValueMap<float>>();
118 filler.insert(probes, values.begin(), values.end());
124 auto valMap2 = std::make_unique<ValueMap<float>>();
126 filler2.insert(probes, values2.begin(), values2.end());
131 auto valMap3 = std::make_unique<ValueMap<float>>();
133 filler3.insert(probes, values3.begin(), values3.end());
139 auto valMap4 = std::make_unique<ValueMap<float>>();
141 filler4.insert(probes, values4.begin(), values4.end());
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
double radiusOfConversion() const
edm::EDGetTokenT< edm::View< reco::Candidate > > probesToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
ConversionInfo getConversionInfo(const reco::GsfElectronCore &, const edm::Handle< reco::TrackCollection > &ctftracks_h, const edm::Handle< reco::GsfTrackCollection > &gsftracks_h, const double bFieldAtOrigin, const double minFracSharedHits=0.45)
std::vector< Track > TrackCollection
collection of Tracks
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
virtual ~ElectronConversionRejectionVars()
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
edm::EDGetTokenT< reco::TrackCollection > tracksToken_
edm::EDGetTokenT< reco::GsfElectronCollection > gsfElecsToken_
Store electron partner track conversion-rejection quantities ("dist" and "dcot") in the TP tree...
ElectronConversionRejectionVars(const edm::ParameterSet &iConfig)
T const * product() const