30 , NumberOfRecHitsPerSeed(
NULL)
31 , NumberOfRecHitsPerSeedVsPhiProfile(
NULL)
32 , NumberOfRecHitsPerSeedVsEtaProfile(
NULL)
33 , stoppingSource(
NULL)
34 , stoppingSourceVSeta(
NULL)
35 , stoppingSourceVSphi(
NULL)
56 int TrackPtBin = iConfig.
getParameter<
int>(
"TrackPtBin");
57 double TrackPtMin = iConfig.
getParameter<
double>(
"TrackPtMin");
58 double TrackPtMax = iConfig.
getParameter<
double>(
"TrackPtMax");
69 double ThetaMin = iConfig.
getParameter<
double>(
"ThetaMin");
70 double ThetaMax = iConfig.
getParameter<
double>(
"ThetaMax");
73 double TrackQMin = iConfig.
getParameter<
double>(
"TrackQMin");
74 double TrackQMax = iConfig.
getParameter<
double>(
"TrackQMax");
76 int SeedDxyBin = iConfig.
getParameter<
int>(
"SeedDxyBin");
77 double SeedDxyMin = iConfig.
getParameter<
double>(
"SeedDxyMin");
78 double SeedDxyMax = iConfig.
getParameter<
double>(
"SeedDxyMax");
81 double SeedDzMin = iConfig.
getParameter<
double>(
"SeedDzMin");
82 double SeedDzMax = iConfig.
getParameter<
double>(
"SeedDzMax");
84 int SeedHitBin = iConfig.
getParameter<
int>(
"SeedHitBin");
85 double SeedHitMin = iConfig.
getParameter<
double>(
"SeedHitMin");
86 double SeedHitMax = iConfig.
getParameter<
double>(
"SeedHitMax");
89 double TCDxyMin = iConfig.
getParameter<
double>(
"TCDxyMin");
90 double TCDxyMax = iConfig.
getParameter<
double>(
"TCDxyMax");
93 double TCDzMin = iConfig.
getParameter<
double>(
"TCDzMin");
94 double TCDzMax = iConfig.
getParameter<
double>(
"TCDzMax");
97 double TCHitMin = iConfig.
getParameter<
double>(
"TCHitMin");
98 double TCHitMax = iConfig.
getParameter<
double>(
"TCHitMax");
130 if (doAllSeedPlots || doPT) {
131 histname =
"SeedPt_"+seedProducer.label() +
"_";
137 if (doAllSeedPlots || doETA) {
138 histname =
"SeedEta_"+seedProducer.label() +
"_";
144 if (doAllSeedPlots || doPHI) {
145 histname =
"SeedPhi_"+seedProducer.label() +
"_";
151 if (doAllSeedPlots || doPHIVsETA) {
152 histname =
"SeedPhiVsEta_"+seedProducer.label() +
"_";
158 if (doAllSeedPlots || doTheta){
159 histname =
"SeedTheta_"+seedProducer.label() +
"_";
165 if (doAllSeedPlots || doQ){
166 histname =
"SeedQ_"+seedProducer.label() +
"_";
172 if (doAllSeedPlots || doDxy){
173 histname =
"SeedDxy_"+seedProducer.label() +
"_";
179 if (doAllSeedPlots || doDz){
180 histname =
"SeedDz_"+seedProducer.label() +
"_";
186 if (doAllSeedPlots || doNRecHits){
187 histname =
"NumberOfRecHitsPerSeed_"+seedProducer.label() +
"_";
193 if (doAllSeedPlots || doProfPHI){
194 histname =
"NumberOfRecHitsPerSeedVsPhiProfile_"+seedProducer.label() +
"_";
200 if (doAllSeedPlots || doProfETA){
201 histname =
"NumberOfRecHitsPerSeedVsEtaProfile_"+seedProducer.label() +
"_";
207 if (doAllTCPlots || doStopSource) {
212 <<
" but StopReasonName's only for " 213 << StopReasonNameSize
214 <<
". Please update DataFormats/TrackReco/interface/TrajectoryStopReasons.h.";
218 histname =
"StoppingSource_"+seedProducer.label() +
"_";
222 0.,
double(StopReasonNameSize));
226 histname =
"StoppingSourceVSeta_"+seedProducer.label() +
"_";
233 0.,
double(StopReasonNameSize));
237 histname =
"StoppingSourceVSphi_"+seedProducer.label() +
"_";
244 0.,
double(StopReasonNameSize));
248 for (
size_t ibin=0; ibin<StopReasonNameSize; ibin++) {
264 histname =
"TrackCandPt_"+tcProducer.label() +
"_";
269 histname =
"TrackCandEta_"+tcProducer.label() +
"_";
274 histname =
"TrackCandPhi_"+tcProducer.label() +
"_";
280 histname =
"TrackCandTheta_"+tcProducer.label() +
"_";
287 histname =
"TrackCandQ_"+tcProducer.label() +
"_";
292 histname =
"TrackCandDxy_"+tcProducer.label() +
"_";
297 histname =
"TrackCandDz_"+tcProducer.label() +
"_";
302 histname =
"NumberOfRecHitsPerTrackCand_"+tcProducer.label() +
"_";
307 histname =
"NumberOfRecHitsPerTrackCandVsPhiProfile_"+tcProducer.label() +
"_";
312 histname =
"NumberOfRecHitsPerTrackCandVsEtaProfile_"+tcProducer.label() +
"_";
318 histname =
"TrackCandPhiVsEta_"+tcProducer.label() +
"_";
345 if(!(tsAtClosestApproachSeed.isValid())) {
346 edm::LogVerbatim(
"TrackBuilding") <<
"TrajectoryStateClosestToBeamLine not valid";
349 GlobalPoint v0 = tsAtClosestApproachSeed.trackStateAtPCA().position();
350 GlobalVector p = tsAtClosestApproachSeed.trackStateAtPCA().momentum();
362 double numberOfHits = candidate.
recHits().second-candidate.
recHits().first;
400 if(!(tsAtClosestApproachTrackCand.isValid())) {
401 edm::LogVerbatim(
"TrackBuilding") <<
"TrajectoryStateClosestToBeamLine not valid";
404 GlobalPoint v0 = tsAtClosestApproachTrackCand.trackStateAtPCA().position();
405 GlobalVector p = tsAtClosestApproachTrackCand.trackStateAtPCA().momentum();
417 double numberOfHits = candidate.
recHits().second-candidate.
recHits().first;
425 double stop = candidate.
stopReason() > max ? double(max-1) :
static_cast<double>(candidate.
stopReason());
MonitorElement * NumberOfRecHitsPerTrackCandVsPhiProfile
MonitorElement * TrackCandPt
T getParameter(std::string const &) const
double z0() const
z coordinate
TrackCharge charge() const
MonitorElement * bookProfile(Args &&...args)
MonitorElement * TrackCandDz
Sin< T >::type sin(const T &t)
Geom::Phi< T > phi() const
Geom::Theta< T > theta() const
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * stoppingSourceVSphi
GlobalPoint globalPosition() const
const double EtaMax[kNumberCalorimeter]
MonitorElement * TrackCandPhi
static const std::string StopReasonName[]
void initHisto(DQMStore::IBooker &ibooker, const edm::ParameterSet &)
MonitorElement * TrackCandPhiVsEta
MonitorElement * SeedTheta
Geom::Theta< T > theta() const
MonitorElement * NumberOfRecHitsPerTrackCandVsEtaProfile
MonitorElement * stoppingSource
PTrajectoryStateOnDet const & trajectoryStateOnDet() const
MonitorElement * NumberOfRecHitsPerSeed
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup, const TrajectorySeed &seed, const reco::BeamSpot &bs, const edm::ESHandle< MagneticField > &theMF, const edm::ESHandle< TransientTrackingRecHitBuilder > &theTTRHBuilder)
MonitorElement * NumberOfRecHitsPerSeedVsPhiProfile
MonitorElement * TrackCandDxy
FreeTrajectoryState const * freeState(bool withErrors=true) const
Cos< T >::type cos(const T &t)
MonitorElement * TrackCandEta
MonitorElement * book1D(Args &&...args)
const double EtaMin[kNumberCalorimeter]
TrackBuildingAnalyzer(const edm::ParameterSet &)
PTrajectoryStateOnDet const & startingState() const
MonitorElement * stoppingSourceVSeta
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
MonitorElement * TrackCandTheta
MonitorElement * TrackCandQ
MonitorElement * SeedPhiVsEta
GlobalVector globalMomentum() const
int getNbinsX(void) const
get # of bins in X-axis
double y0() const
y coordinate
MonitorElement * NumberOfRecHitsPerSeedVsEtaProfile
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
T const * product() const
MonitorElement * NumberOfRecHitsPerTrackCand
uint8_t stopReason() const
double x0() const
x coordinate