18 std::vector<std::string> residNames;
20 residNames.push_back(
"x hit residuals pos track");
21 residNames.push_back(
"x hit residuals neg track");
22 residNames.push_back(
"y hit residuals pos track");
23 residNames.push_back(
"y hit residuals neg track");
27 unsigned int nAlignable = alignables.size();
28 unsigned int nResidName = residNames.size();
30 for (
unsigned int i = 0;
i < nAlignable; ++
i)
36 hists.resize(nResidName, 0);
41 for (
unsigned int n = 0;
n < nResidName; ++
n)
45 TString histName(name.c_str());
47 histName.ReplaceAll(
" ",
"");
49 TString histTitle(name.c_str());
50 histTitle += Form(
" for %s with ID %d (subdet %d)",
52 id,
DetId(
id).subdetId());
75 for (
unsigned int t = 0;
t < tracks.size(); ++
t)
79 float charge = tracks[
t].second->charge();
81 const std::vector<TrajectoryMeasurement>& meass
82 = tracks[
t].first->measurements();
84 for (
unsigned int m = 0;
m < meass.size(); ++
m)
94 std::map<const Alignable*, Hist1Ds>::iterator
h =
m_resHists.find(ali);
106 if (localAPE.valid()) {
108 err2.
xy() - localAPE.xy(),
109 err2.
yy() - localAPE.yy());
115 h->second[charge > 0 ? 0 : 1]->Fill(res.x() / errX);
116 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)
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
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
const GeomDet * det() const
double pt() const
track transverse momentum
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
AlignmentMonitorGeneric(const edm::ParameterSet &)
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)
LocalError const & localAlignmentError() const
Return local alligment error.
const align::Alignables & alignables(void) const
get all alignables
TrajectoryStateOnSurface const & backwardPredictedState() const
Access to backward predicted state (from smoother)