1 #ifndef MILLEPEDEMONITOR_H
2 #define MILLEPEDEMONITOR_H
55 const float *localDerivs,
unsigned int nLocal,
56 const float *globalDerivs,
unsigned int nGlobal,
const int *
labels);
59 float residuum,
float sigma,
bool isY);
71 float residuum,
float sigma);
73 float residuum,
float sigma,
unsigned int nHit);
75 std::vector<TH2*> &trackHists2D);
77 template <
class OBJECT_TYPE>
78 int GetIndex(
const std::vector<OBJECT_TYPE*> &vec,
const TString &
name);
79 template <
class OBJECT_TYPE>
80 std::vector<OBJECT_TYPE*>
cloneHists(
const std::vector<OBJECT_TYPE*> &orgs,
81 const TString &namAd,
const TString &titAd)
const;
82 template <
class OBJECT_TYPE>
83 void addToDirectory(
const std::vector<OBJECT_TYPE*> &objs, TDirectory *
dir)
const;
106 template <
class OBJECT_TYPE>
110 for (
typename std::vector<OBJECT_TYPE*>::const_iterator iter = vec.begin(), iterEnd = vec.end();
111 iter != iterEnd; ++iter, ++
result) {
112 if (*iter && (*iter)->GetName() ==
name)
return result;
114 edm::LogError(
"Alignment") <<
"@SUB=MillePedeMonitor::GetIndex" <<
" could not find " <<
name;
118 template <
class OBJECT_TYPE>
120 const TString &namAd,
121 const TString &titAd)
const
124 std::vector<OBJECT_TYPE*>
result;
125 for (
typename std::vector<OBJECT_TYPE*>::const_iterator iter = orgs.begin(), iterEnd = orgs.end();
126 iter != iterEnd; ++iter) {
127 if (!(*iter))
continue;
128 result.push_back(static_cast<OBJECT_TYPE*>((*iter)->Clone(namAd + (*iter)->GetName())));
129 if (result.back()) result.back()->SetTitle((*iter)->GetTitle() + titAd);
130 else edm::LogError(
"Alignment") <<
"@SUB=MillePedeMonitor::cloneHists"
138 template <
class OBJECT_TYPE>
140 TDirectory *
dir)
const
143 for (
typename std::vector<OBJECT_TYPE*>::const_iterator iter = obs.begin(), iterEnd = obs.end();
144 iter != iterEnd; ++iter) {
145 if (*iter) (*iter)->SetDirectory(dir);
std::vector< TH1 * > myTrackHists1D
int GetIndex(const std::vector< OBJECT_TYPE * > &vec, const TString &name)
void fillCorrelations2D(float corr, const TransientTrackingRecHit::ConstRecHitPointer &hit)
std::vector< TH2 * > myDerivHists2D
std::vector< std::vector< TH1 * > > myResidHistsVec1DX
void fillFrameToFrame(const AlignableDetOrUnitPtr &aliDet, const Alignable *ali)
void fillPxbSurveyHistsLocalPars(const float &a0, const float &a1, const float &S, const float &phi)
std::vector< TH1 * > myTrajectoryHists1D
std::vector< TH1 * > myResidHitHists1DY
std::vector< OBJECT_TYPE * > cloneHists(const std::vector< OBJECT_TYPE * > &orgs, const TString &namAd, const TString &titAd) const
void fillResiduals(const TransientTrackingRecHit::ConstRecHitPointer &recHit, const TrajectoryStateOnSurface &tsos, unsigned int nHit, float residuum, float sigma, bool isY)
void fillPxbSurveyHistsChi2(const float &chi2)
void addToDirectory(const std::vector< OBJECT_TYPE * > &objs, TDirectory *dir) const
std::vector< TH2 * > myTrackHists2D
MillePedeMonitor(const char *rootFile="trackMonitor.root")
std::vector< TH2 * > myResidHists2D
void fillUsedTrack(const reco::Track *track, unsigned int nHitX, unsigned int nHitY)
std::vector< TH1 * > myCorrHists
std::vector< TH1 * > myPxbSurveyHists
std::vector< TH1 * > myUsedTrackHists1D
bool init(TDirectory *directory)
std::vector< TH2 * > myTrajectoryHists2D
std::vector< std::vector< TH1 * > > myResidHistsVec1DY
[0]=all [1]=TPB [2]=TPE [3]=TIB [4]=TID [5]=TOB [6]=TEC
bool equidistLogBins(double *bins, int nBins, double first, double last) const
void fillResidualHists(const std::vector< TH1 * > &hists, float phiSensToNorm, float residuum, float sigma)
void fillTrack(const reco::Track *track)
std::vector< TH1 * > myResidHitHists1DX
[0]=all [1]=TPB [2]=TPE [3]=TIB [4]=TID [5]=TOB [6]=TEC
std::vector< TH2 * > myUsedTrackHists2D
void fillRefTrajectory(const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr)
void fillDerivatives(const TransientTrackingRecHit::ConstRecHitPointer &recHit, const float *localDerivs, unsigned int nLocal, const float *globalDerivs, unsigned int nGlobal, const int *labels)
std::vector< TH2 * > myFrame2FrameHists2D
void fillResidualHitHists(const std::vector< TH1 * > &hists, float angle, float residuum, float sigma, unsigned int nHit)
T angle(T x1, T y1, T z1, T x2, T y2, T z2)