30 , NumberOfRecHitsPerSeed(
NULL)
31 , NumberOfRecHitsPerSeedVsPhiProfile(
NULL)
32 , NumberOfRecHitsPerSeedVsEtaProfile(
NULL)
48 std::string CatagoryName = AlgoName;
122 if (doAllSeedPlots || doPT) {
123 histname =
"SeedPt_"+seedProducer.label() +
"_";
129 if (doAllSeedPlots || doETA) {
130 histname =
"SeedEta_"+seedProducer.label() +
"_";
136 if (doAllSeedPlots || doPHI) {
137 histname =
"SeedPhi_"+seedProducer.label() +
"_";
143 if (doAllSeedPlots || doPHIVsETA) {
144 histname =
"SeedPhiVsEta_"+seedProducer.label() +
"_";
150 if (doAllSeedPlots || doTheta){
151 histname =
"SeedTheta_"+seedProducer.label() +
"_";
157 if (doAllSeedPlots || doQ){
158 histname =
"SeedQ_"+seedProducer.label() +
"_";
164 if (doAllSeedPlots || doDxy){
165 histname =
"SeedDxy_"+seedProducer.label() +
"_";
171 if (doAllSeedPlots || doDz){
172 histname =
"SeedDz_"+seedProducer.label() +
"_";
178 if (doAllSeedPlots || doNRecHits){
179 histname =
"NumberOfRecHitsPerSeed_"+seedProducer.label() +
"_";
185 if (doAllSeedPlots || doProfPHI){
186 histname =
"NumberOfRecHitsPerSeedVsPhiProfile_"+seedProducer.label() +
"_";
192 if (doAllSeedPlots || doProfETA){
193 histname =
"NumberOfRecHitsPerSeedVsEtaProfile_"+seedProducer.label() +
"_";
206 histname =
"TrackCandPt_"+tcProducer.label() +
"_";
211 histname =
"TrackCandEta_"+tcProducer.label() +
"_";
216 histname =
"TrackCandPhi_"+tcProducer.label() +
"_";
221 histname =
"TrackCandTheta_"+tcProducer.label() +
"_";
226 histname =
"TrackCandQ_"+tcProducer.label() +
"_";
231 histname =
"TrackCandDxy_"+tcProducer.label() +
"_";
236 histname =
"TrackCandDz_"+tcProducer.label() +
"_";
241 histname =
"NumberOfRecHitsPerTrackCand_"+tcProducer.label() +
"_";
246 histname =
"NumberOfRecHitsPerTrackCandVsPhiProfile_"+tcProducer.label() +
"_";
251 histname =
"NumberOfRecHitsPerTrackCandVsEtaProfile_"+tcProducer.label() +
"_";
278 if(!(tsAtClosestApproachSeed.isValid())) {
279 edm::LogVerbatim(
"TrackBuilding") <<
"TrajectoryStateClosestToBeamLine not valid";
282 GlobalPoint v0 = tsAtClosestApproachSeed.trackStateAtPCA().position();
283 GlobalVector p = tsAtClosestApproachSeed.trackStateAtPCA().momentum();
295 double numberOfHits = candidate.
recHits().second-candidate.
recHits().first;
297 double dz =
v.z() - (
v.x()*p.
x()+
v.y()*p.
y())/p.
perp() * p.
z()/p.
perp();
300 if (doAllSeedPlots || doQ)SeedQ->Fill( state.
charge() );
301 if (doAllSeedPlots || doPT) SeedPt->Fill( pt );
302 if (doAllSeedPlots || doETA) SeedEta->Fill( eta );
303 if (doAllSeedPlots || doPHI) SeedPhi->Fill( phi );
304 if (doAllSeedPlots || doPHIVsETA) SeedPhiVsEta->Fill( eta, phi);
305 if (doAllSeedPlots || doTheta) SeedTheta->Fill( theta );
306 if (doAllSeedPlots || doDxy) SeedDxy->Fill( dxy );
307 if (doAllSeedPlots || doDz) SeedDz->Fill( dz );
308 if (doAllSeedPlots || doNRecHits) NumberOfRecHitsPerSeed->Fill( numberOfHits );
309 if (doAllSeedPlots || doProfETA) NumberOfRecHitsPerSeedVsEtaProfile->Fill( eta, numberOfHits );
310 if (doAllSeedPlots || doProfPHI) NumberOfRecHitsPerSeedVsPhiProfile->Fill( phi, numberOfHits );
333 if(!(tsAtClosestApproachTrackCand.isValid())) {
334 edm::LogVerbatim(
"TrackBuilding") <<
"TrajectoryStateClosestToBeamLine not valid";
337 GlobalPoint v0 = tsAtClosestApproachTrackCand.trackStateAtPCA().position();
338 GlobalVector p = tsAtClosestApproachTrackCand.trackStateAtPCA().momentum();
350 double numberOfHits = candidate.
recHits().second-candidate.
recHits().first;
353 double dz =
v.z() - (
v.x()*p.
x()+
v.y()*p.
y())/p.
perp() * p.
z()/p.
perp();
357 TrackCandQ->Fill( state.
charge() );
358 TrackCandPt->Fill( pt );
359 TrackCandEta->Fill( eta );
360 TrackCandPhi->Fill( phi );
361 TrackCandTheta->Fill( theta );
362 TrackCandDxy->Fill( dxy );
363 TrackCandDz->Fill( dz );
364 NumberOfRecHitsPerTrackCand->Fill( numberOfHits );
365 NumberOfRecHitsPerTrackCandVsEtaProfile->Fill( eta, numberOfHits );
366 NumberOfRecHitsPerTrackCandVsPhiProfile->Fill( phi, numberOfHits );
MonitorElement * NumberOfRecHitsPerTrackCandVsPhiProfile
MonitorElement * TrackCandPt
T getParameter(std::string const &) const
double z0() const
z coordinate
virtual ~TrackBuildingAnalyzer()
TrackCharge charge() const
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * TrackCandDz
Sin< T >::type sin(const T &t)
Geom::Phi< T > phi() const
Geom::Theta< T > theta() const
const double EtaMax[kNumberCalorimeter]
MonitorElement * TrackCandPhi
MonitorElement * SeedTheta
Geom::Theta< T > theta() const
MonitorElement * NumberOfRecHitsPerTrackCandVsEtaProfile
PTrajectoryStateOnDet const & trajectoryStateOnDet() const
MonitorElement * NumberOfRecHitsPerSeed
virtual 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
FreeTrajectoryState * freeState(bool withErrors=true) const
MonitorElement * TrackCandDxy
Cos< T >::type cos(const T &t)
MonitorElement * TrackCandEta
const double EtaMin[kNumberCalorimeter]
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
TrackBuildingAnalyzer(const edm::ParameterSet &)
virtual void beginJob(DQMStore *dqmStore_)
PTrajectoryStateOnDet const & startingState() const
T const * product() const
MonitorElement * TrackCandTheta
MonitorElement * TrackCandQ
MonitorElement * SeedPhiVsEta
GlobalVector globalMomentum() const
double y0() const
y coordinate
MonitorElement * NumberOfRecHitsPerSeedVsEtaProfile
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * NumberOfRecHitsPerTrackCand
void setCurrentFolder(const std::string &fullpath)
double x0() const
x coordinate