17 std::vector<std::string> residNames;
19 residNames.push_back(
"x hit residuals pos track");
20 residNames.push_back(
"x hit residuals neg track");
21 residNames.push_back(
"y hit residuals pos track");
22 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)
35 hists.resize(nResidName, 0);
40 for (
unsigned int n = 0;
n < nResidName; ++
n)
44 TString histName(name.c_str());
46 histName.ReplaceAll(
" ",
"");
48 TString histTitle(name.c_str());
49 histTitle += Form(
" for %s with ID %d (subdet %d)",
51 id,
DetId(
id).subdetId());
74 for (
unsigned int t = 0;
t < tracks.size(); ++
t)
78 float charge = tracks[
t].second->charge();
80 const std::vector<TrajectoryMeasurement>& meass
81 = tracks[
t].first->measurements();
83 for (
unsigned int m = 0;
m < meass.size(); ++
m)
93 std::map<const Alignable*, Hist1Ds>::iterator
h =
m_resHists.find(ali);
105 h->second[charge > 0 ? 0 : 1]->Fill(res.x() / errX);
106 h->second[charge > 0 ? 2 : 3]->Fill(res.y() / errY);
align::ID id() const
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
AlignableNavigator * pNavigator()
AlignmentParameterStore * pStore()
ConstRecHitPointer const & recHit() const
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
std::map< const Alignable *, Hist1Ds > m_resHists
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
LocalPoint localPosition() const
double phi() const
azimuthal angle of momentum vector
LocalError positionError() const
std::vector< TH1F * > Hist1Ds
double eta() const
pseudorapidity of momentum vector
double pt() const
track transverse momentum
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
AlignmentMonitorGeneric(const edm::ParameterSet &)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
const LocalTrajectoryError & localError() const
std::vector< ConstTrajTrackPair > ConstTrajTrackPairCollection
TH1F * book1D(std::string dir, std::string name, std::string title, int nchX, double lowX, double highX)
TrajectoryStateOnSurface const & forwardPredictedState() const
Access to forward predicted state (from fitter or builder)
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
virtual void event(const edm::Event &, const edm::EventSetup &, const ConstTrajTrackPairCollection &)
Called for each event (by "run()"): may be reimplemented.
virtual LocalError localPositionError() const =0
virtual void book()
Book or retrieve histograms; MUST be reimplemented.
#define DEFINE_EDM_PLUGIN(factory, type, name)
DetId geographicalId() const
static const char * idToString(align::StructureType type)
static const unsigned int nBin_
virtual LocalPoint localPosition() const =0
AlignableDetOrUnitPtr alignableFromDetId(const DetId &detid)
Returns AlignableDetOrUnitPtr corresponding to given DetId.
Alignable * mother() const
Return pointer to container alignable (if any)
const align::Alignables & alignables(void) const
get all alignables
TrajectoryStateOnSurface const & backwardPredictedState() const
Access to backward predicted state (from smoother)