|
|
Go to the documentation of this file.
15 std::vector<std::string> residNames;
17 residNames.push_back(
"x hit residuals pos track");
18 residNames.push_back(
"x hit residuals neg track");
19 residNames.push_back(
"y hit residuals pos track");
20 residNames.push_back(
"y hit residuals neg track");
26 unsigned int nAlignable = alignables.size();
27 unsigned int nResidName = residNames.size();
29 for (
unsigned int i = 0;
i < nAlignable; ++
i) {
34 hists.resize(nResidName,
nullptr);
39 for (
unsigned int n = 0;
n < nResidName; ++
n) {
42 TString histName(
name.c_str());
43 histName += Form(
"_%s_%d", alignableObjectId.idToString(
type),
id);
44 histName.ReplaceAll(
" ",
"");
73 for (
unsigned int t = 0;
t <
tracks.size(); ++
t) {
78 const std::vector<TrajectoryMeasurement>& meass =
tracks[
t].first->measurements();
80 for (
unsigned int m = 0;
m < meass.size(); ++
m) {
88 std::map<const Alignable*, Hist1Ds>::iterator
h =
m_resHists.find(ali);
97 auto det = static_cast<const TrackerGeomDet*>(
hit.det());
98 const auto localAPE = det->localAlignmentError();
99 if (localAPE.valid()) {
100 err2 =
LocalError(err2.
xx() - localAPE.xx(), err2.
xy() - localAPE.xy(), err2.
yy() - localAPE.yy());
static const unsigned int nBin_
const align::Alignables & alignables(void) const
get all alignables
LocalError positionError() const
AlignableTracker * pTracker()
void event(const edm::Event &, const edm::EventSetup &, const ConstTrajTrackPairCollection &) override
Called for each event (by "run()"): may be reimplemented.
static AlignableObjectId commonObjectIdProvider(const AlignableObjectId &, const AlignableObjectId &)
AlignmentParameterStore * pStore()
void book() override
Book or retrieve histograms; MUST be reimplemented.
AlignableNavigator * pNavigator()
TrajectoryStateOnSurface const & backwardPredictedState() const
Access to backward predicted state (from smoother)
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
TrajectoryStateOnSurface const & forwardPredictedState() const
Access to forward predicted state (from fitter or builder)
std::vector< TH1F * > Hist1Ds
#define DEFINE_EDM_PLUGIN(factory, type, name)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
LocalPoint localPosition() const
align::ID id() const
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
AlignmentMonitorGeneric(const edm::ParameterSet &)
TH1F * book1D(std::string dir, std::string name, std::string title, int nchX, double lowX, double highX)
ConstRecHitPointer const & recHit() const
AlignableDetOrUnitPtr alignableFromDetId(const DetId &detid)
Returns AlignableDetOrUnitPtr corresponding to given DetId.
std::vector< ConstTrajTrackPair > ConstTrajTrackPairCollection
const LocalTrajectoryError & localError() const
std::map< const Alignable *, Hist1Ds > m_resHists
Alignable * mother() const
Return pointer to container alignable (if any)