44 iConfig.getParameter<edm::
ESInputTag>(
"alignmentTag"))),
45 outputTrackTag_(iConfig.getParameter<std::
string>(
"outputTrackTag")) {
55 ->setComment(
"tag of the input CTPPSLocalTrackLiteCollection");
59 desc.
add<
std::string>(
"outputTrackTag",
"")->setComment(
"tag of the output CTPPSLocalTrackLiteCollection");
61 descr.
add(
"ppsLocalTrackLiteReAligner", desc);
71 auto output = std::make_unique<CTPPSLocalTrackLiteCollection>();
75 for (
const auto &tr : inputTracks) {
76 auto it =
alignment.getRPMap().find(tr.rpId());
78 edm::LogError(
"PPS") <<
"Cannot find alignment correction for RP " << tr.rpId() <<
". The track will be skipped.";
80 output->emplace_back(tr.rpId(),
81 tr.x() + it->second.getShX(),
83 tr.y() + it->second.getShY(),
89 tr.chiSquaredOverNDF(),
90 tr.pixelTrackRecoInfo(),
91 tr.numberOfPointsUsedForFit(),
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
static void fillDescriptions(edm::ConfigurationDescriptions &)
#define DEFINE_FWK_MODULE(type)
Log< level::Error, false > LogError
bool getData(T &iHolder) const
bool get(ProductID const &oid, Handle< PROD > &result) const
const std::string outputTrackTag_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const edm::EDGetTokenT< CTPPSLocalTrackLiteCollection > inputTrackToken_
std::vector< CTPPSLocalTrackLite > CTPPSLocalTrackLiteCollection
Collection of CTPPSLocalTrackLite objects.
void add(std::string const &label, ParameterSetDescription const &psetDescription)
PPSLocalTrackLiteReAligner(const edm::ParameterSet &)
Container for CTPPS RP alignment corrections. The corrections are stored on two levels - RP and senso...
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
const edm::ESGetToken< CTPPSRPAlignmentCorrectionsData, RPRealAlignmentRecord > alignmentToken_