From 8a1e15be5f601fd6e31af902f9be6e78ce47333d Mon Sep 17 00:00:00 2001 From: Sam Bein Date: Wed, 26 Dec 2018 19:03:58 +0100 Subject: [PATCH] moved content of FastTrackDeDxProducer.h to .cc and deleted the former --- .../interface/FastTrackDeDxProducer.h | 100 ----------------- .../plugins/FastTrackDeDxProducer.cc | 106 ++++++++++++++++-- 2 files changed, 96 insertions(+), 110 deletions(-) delete mode 100644 FastSimulation/SimplifiedGeometryPropagator/interface/FastTrackDeDxProducer.h diff --git a/FastSimulation/SimplifiedGeometryPropagator/interface/FastTrackDeDxProducer.h b/FastSimulation/SimplifiedGeometryPropagator/interface/FastTrackDeDxProducer.h deleted file mode 100644 index 98b75c9b68b55..0000000000000 --- a/FastSimulation/SimplifiedGeometryPropagator/interface/FastTrackDeDxProducer.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef FASTSIM_TRACKRECODEDX_FASTTRACKDEDXPRODUCER_H -#define FASTSIM_TRACKRECODEDX_FASTTRACKDEDXPRODUCER_H - - -// user include files - -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/stream/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" -#include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" -#include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h" -#include "Geometry/CommonDetUnit/interface/GluedGeomDet.h" - -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/TrackReco/interface/DeDxData.h" -#include "DataFormats/TrackReco/interface/TrackDeDxHits.h" -#include "DataFormats/TrackReco/interface/DeDxHit.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" - - -#include "RecoTracker/DeDx/interface/BaseDeDxEstimator.h" -#include "RecoTracker/DeDx/interface/GenericAverageDeDxEstimator.h" -#include "RecoTracker/DeDx/interface/TruncatedAverageDeDxEstimator.h" -#include "RecoTracker/DeDx/interface/MedianDeDxEstimator.h" -#include "RecoTracker/DeDx/interface/UnbinnedFitDeDxEstimator.h" -#include "RecoTracker/DeDx/interface/ProductDeDxDiscriminator.h" -#include "RecoTracker/DeDx/interface/SmirnovDeDxDiscriminator.h" -#include "RecoTracker/DeDx/interface/ASmirnovDeDxDiscriminator.h" -#include "RecoTracker/DeDx/interface/BTagLikeDeDxDiscriminator.h" - -#include "RecoTracker/DeDx/interface/DeDxTools.h" - -#include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h" - -#include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h" -#include "SimDataFormats/Track/interface/SimTrackContainer.h" -#include "DataFormats/TrackerRecHit2D/interface/FastTrackerRecHit.h" -#include "DataFormats/TrackerRecHit2D/interface/FastTrackerRecHitCollection.h" - - - -// -// class declaration -// - -class FastTrackDeDxProducer : public edm::stream::EDProducer<> { -public: - explicit FastTrackDeDxProducer(const edm::ParameterSet&); - ~FastTrackDeDxProducer() override = default; - static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); - -private: - void beginRun(edm::Run const& run, const edm::EventSetup&) override; - void produce(edm::Event&, const edm::EventSetup&) override; - - void makeCalibrationMap(const TrackerGeometry& tkGeom); - void processHit(const FastTrackerRecHit & recHit, float trackMomentum, float& cosine, reco::DeDxHitCollection& dedxHits, int& NClusterSaturating); - - // ----------member data --------------------------- -//BaseDeDxEstimator* m_estimator; - -std::unique_ptr m_estimator; - - edm::EDGetTokenT m_tracksTag; - - - - float meVperADCPixel; - float meVperADCStrip; - - unsigned int MaxNrStrips; - - std::string m_calibrationPath; - - std::vector< std::vector > calibGains; - unsigned int m_off; - - edm::EDGetTokenT simHitsToken; - edm::EDGetTokenT simHit2RecHitMapToken; - - bool usePixel; - bool useStrip; - bool useCalibration; - bool shapetest; - bool convertFromGeV2MeV; - bool nothick; - - -}; - -#endif - diff --git a/FastSimulation/SimplifiedGeometryPropagator/plugins/FastTrackDeDxProducer.cc b/FastSimulation/SimplifiedGeometryPropagator/plugins/FastTrackDeDxProducer.cc index 660d48f23bfef..9f47f33866290 100644 --- a/FastSimulation/SimplifiedGeometryPropagator/plugins/FastTrackDeDxProducer.cc +++ b/FastSimulation/SimplifiedGeometryPropagator/plugins/FastTrackDeDxProducer.cc @@ -10,25 +10,112 @@ Implementation: */ -// -// Original Author: andrea +// Original author: Sam Bein +// Created: Wednesday Dec 26 14:17:19 CEST 2018 +// Author of derivative code: andrea // Created: Thu May 31 14:09:02 CEST 2007 -// Code Updates: loic Quertenmont (querten) +// Code Updates: loic Quertenmont (querten) // Created: Thu May 10 14:09:02 CEST 2008 // // -// system include files -#include "FastSimulation/SimplifiedGeometryPropagator/interface/FastTrackDeDxProducer.h" +#include + +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/stream/EDProducer.h" +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/Framework/interface/ESHandle.h" + +#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" +#include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" +#include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h" +#include "Geometry/CommonDetUnit/interface/GluedGeomDet.h" + +#include "DataFormats/Common/interface/ValueMap.h" +#include "DataFormats/TrackReco/interface/DeDxData.h" +#include "DataFormats/TrackReco/interface/TrackDeDxHits.h" +#include "DataFormats/TrackReco/interface/DeDxHit.h" +#include "DataFormats/TrackReco/interface/Track.h" +#include "DataFormats/TrackReco/interface/TrackFwd.h" + + +#include "RecoTracker/DeDx/interface/BaseDeDxEstimator.h" +#include "RecoTracker/DeDx/interface/GenericAverageDeDxEstimator.h" +#include "RecoTracker/DeDx/interface/TruncatedAverageDeDxEstimator.h" +#include "RecoTracker/DeDx/interface/MedianDeDxEstimator.h" +#include "RecoTracker/DeDx/interface/UnbinnedFitDeDxEstimator.h" +#include "RecoTracker/DeDx/interface/ProductDeDxDiscriminator.h" +#include "RecoTracker/DeDx/interface/SmirnovDeDxDiscriminator.h" +#include "RecoTracker/DeDx/interface/ASmirnovDeDxDiscriminator.h" +#include "RecoTracker/DeDx/interface/BTagLikeDeDxDiscriminator.h" + +#include "RecoTracker/DeDx/interface/DeDxTools.h" + +#include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h" + +#include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h" +#include "SimDataFormats/Track/interface/SimTrackContainer.h" +#include "DataFormats/TrackerRecHit2D/interface/FastTrackerRecHit.h" +#include "DataFormats/TrackerRecHit2D/interface/FastTrackerRecHitCollection.h" + + + +// +// class declaration +// + +class FastTrackDeDxProducer : public edm::stream::EDProducer<> { +public: + explicit FastTrackDeDxProducer(const edm::ParameterSet&); + ~FastTrackDeDxProducer() override = default; + static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); + +private: + void beginRun(edm::Run const& run, const edm::EventSetup&) override; + void produce(edm::Event&, const edm::EventSetup&) override; + + void makeCalibrationMap(const TrackerGeometry& tkGeom); + void processHit(const FastTrackerRecHit & recHit, float trackMomentum, float& cosine, reco::DeDxHitCollection& dedxHits, int& NClusterSaturating); + + // ----------member data --------------------------- +//BaseDeDxEstimator* m_estimator; + +std::unique_ptr m_estimator; + + edm::EDGetTokenT m_tracksTag; + + + + float meVperADCPixel; + float meVperADCStrip; + + unsigned int MaxNrStrips; + + std::string m_calibrationPath; + + std::vector< std::vector > calibGains; + unsigned int m_off; + + edm::EDGetTokenT simHitsToken; + edm::EDGetTokenT simHit2RecHitMapToken; + + bool usePixel; + bool useStrip; + bool useCalibration; + bool shapetest; + bool convertFromGeV2MeV; + bool nothick; + + +}; using namespace reco; using namespace std; using namespace edm; - -//void yuval(const std::string& a); - void FastTrackDeDxProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { edm::ParameterSetDescription desc; desc.add("estimator","generic"); @@ -87,7 +174,7 @@ FastTrackDeDxProducer::FastTrackDeDxProducer(const edm::ParameterSet& iConfig) nothick = iConfig.getParameter("nothick"); if(!usePixel && !useStrip) - throw cms::Exception("fastsim::SimplifiedGeometry::FastTrackDeDxProducer.cc") << " Pixel Hits AND Strip Hits will not be used to estimate dEdx --> BUG, Please Update the config file"; + throw cms::Exception("fastsim::SimplifiedGeometry::FastTrackDeDxProducer.cc") << " neither pixel hits nor strips hits will be used to compute de/dx"; } @@ -116,7 +203,6 @@ void FastTrackDeDxProducer::produce(edm::Event& iEvent, const edm::EventSetup& i edm::Handle trackCollectionHandle; iEvent.getByToken(m_tracksTag,trackCollectionHandle); - //std::vector dedxEstimate( trackCollectionHandle->size() ); const auto& trackCollection = *trackCollectionHandle; std::vector dedxEstimate( trackCollection.size() );