CTPPSDiamondLocalTrackFitter::CTPPSDiamondLocalTrackFitter |
( |
const edm::ParameterSet & |
iConfig | ) |
|
|
explicit |
Definition at line 42 of file CTPPSDiamondLocalTrackFitter.cc.
46 produces<edm::DetSetVector<CTPPSDiamondLocalTrack> >();
edm::EDGetTokenT< edm::DetSetVector< CTPPSDiamondRecHit > > recHitsToken_
const edm::ParameterSet trk_algo_params_
T getParameter(std::string const &) const
Definition at line 81 of file CTPPSDiamondLocalTrackFitter.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, edm::ParameterDescriptionNode::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.
84 ->setComment(
"input rechits collection to retrieve");
87 trackingAlgoParams.
add<
double>(
"threshold", 1.5)
88 ->
setComment(
"minimal number of rechits to be observed before launching the track recognition algorithm");
89 trackingAlgoParams.add<
double>(
"thresholdFromMaximum", 0.5);
90 trackingAlgoParams.add<
double>(
"resolution", 0.01 )
91 ->setComment(
"spatial resolution on the horizontal coordinate (in mm)");
92 trackingAlgoParams.add<
double>(
"sigma", 0.1);
93 trackingAlgoParams.add<
double>(
"startFromX", -0.5 )
94 ->setComment(
"starting horizontal coordinate of rechits for the track recognition");
95 trackingAlgoParams.add<
double>(
"stopAtX", 19.5 )
96 ->setComment(
"ending horizontal coordinate of rechits for the track recognition");
97 trackingAlgoParams.add<
double>(
"tolerance", 0.1 )
98 ->setComment(
"tolerance used for checking if the track contains certain hit");
100 trackingAlgoParams.add<
std::string>(
"pixelEfficiencyFunction",
"(x>[0]-0.5*[1])*(x<[0]+0.5*[1])+0*[2]")
102 "efficiency function for single pixel\n"
103 "can be defined as:\n"
104 " * Precise: (TMath::Erf((x-[0]+0.5*[1])/([2]/4)+2)+1)*TMath::Erfc((x-[0]-0.5*[1])/([2]/4)-2)/4\n"
106 "(x>[0]-0.5*[1])*(x<[0]+0.5*[1])+((x-[0]+0.5*[1]+[2])/"
107 "[2])*(x>[0]-0.5*[1]-[2])*(x<[0]-0.5*[1])+(2-(x-[0]-0.5*[1]+[2])/[2])*(x>[0]+0.5*[1])*(x<[0]+0.5*[1]+[2])\n"
108 " * Legacy: (1/(1+exp(-(x-[0]+0.5*[1])/[2])))*(1/(1+exp((x-[0]-0.5*[1])/[2])))\n"
109 " * Default (sigma ignored): (x>[0]-0.5*[1])*(x<[0]+0.5*[1])+0*[2]\n"
111 " [0]: centre of pad\n"
112 " [1]: width of pad\n"
113 " [2]: sigma: distance between efficiency ~100 -> 0 outside width");
115 trackingAlgoParams.add<
double>(
"yPosition", 0.0)->setComment(
"vertical offset of the outcoming track centre");
116 trackingAlgoParams.add<
double>(
"yWidth", 0.0)->setComment(
"vertical track width");
117 trackingAlgoParams.add<
bool>(
"excludeSingleEdgeHits",
true)
118 ->setComment(
"exclude rechits with missing leading/trailing edge");
121 ->setComment(
"list of parameters associated to the track recognition algorithm");
123 descr.
add(
"ctppsDiamondLocalTracks",
desc);
void setComment(std::string const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition at line 49 of file CTPPSDiamondLocalTrackFitter.cc.
References edm::Event::getByToken(), eostools::move(), edm::Event::put(), HLT_FULL_cff::recHits, recHitsToken_, CTPPSDiamondRecHit::TIMESLICE_WITHOUT_LEADING, tracks, trk_algo_, and trk_algo_params_.
51 auto pOut = std::make_unique<edm::DetSetVector<CTPPSDiamondLocalTrack> >();
58 algo_vs_id.second->clear();
61 for (
const auto& vec : *recHits) {
62 const CTPPSDiamondDetId raw_detid(vec.detId()), detid(raw_detid.arm(), raw_detid.station(), raw_detid.rp());
64 if (trk_algo_.count(detid) == 0)
65 trk_algo_[detid] = std::make_unique<CTPPSDiamondTrackRecognition>(
trk_algo_params_);
66 for (
const auto&
hit : vec)
69 trk_algo_[detid]->addHit(
hit);
73 for (
auto& algo_vs_id : trk_algo_) {
74 auto&
tracks = pOut->find_or_insert(algo_vs_id.first);
75 algo_vs_id.second->produceTracks(
tracks);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< edm::DetSetVector< CTPPSDiamondRecHit > > recHitsToken_
auto const & tracks
cannot be loose
const edm::ParameterSet trk_algo_params_
std::unordered_map< CTPPSDetId, std::unique_ptr< CTPPSDiamondTrackRecognition > > trk_algo_
static constexpr int TIMESLICE_WITHOUT_LEADING
Detector ID class for CTPPS Timing Diamond detectors. Bits [19:31] : Assigend in CTPPSDetId Calss Bit...