Skip to content

Commit

Permalink
moved content of FastTrackDeDxProducer.h to .cc and deleted the former
Browse files Browse the repository at this point in the history
  • Loading branch information
sbein authored and ssekmen committed Sep 26, 2019
1 parent eac8c5c commit 8a1e15b
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 110 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,112 @@
Implementation:
<Notes on 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 <memory>

#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<BaseDeDxEstimator> m_estimator;

edm::EDGetTokenT<reco::TrackCollection> m_tracksTag;



float meVperADCPixel;
float meVperADCStrip;

unsigned int MaxNrStrips;

std::string m_calibrationPath;

std::vector< std::vector<float> > calibGains;
unsigned int m_off;

edm::EDGetTokenT<edm::PSimHitContainer> simHitsToken;
edm::EDGetTokenT<FastTrackerRecHitRefCollection> 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<string>("estimator","generic");
Expand Down Expand Up @@ -87,7 +174,7 @@ FastTrackDeDxProducer::FastTrackDeDxProducer(const edm::ParameterSet& iConfig)
nothick = iConfig.getParameter<bool>("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";


}
Expand Down Expand Up @@ -116,7 +203,6 @@ void FastTrackDeDxProducer::produce(edm::Event& iEvent, const edm::EventSetup& i

edm::Handle<reco::TrackCollection> trackCollectionHandle;
iEvent.getByToken(m_tracksTag,trackCollectionHandle);
//std::vector<DeDxData> dedxEstimate( trackCollectionHandle->size() );
const auto& trackCollection = *trackCollectionHandle;
std::vector<DeDxData> dedxEstimate( trackCollection.size() );

Expand Down

0 comments on commit 8a1e15b

Please sign in to comment.