CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Types | Private Attributes
SiStripLAProfileBooker Class Reference

#include <SiStripLAProfileBooker.h>

Inheritance diagram for SiStripLAProfileBooker:
edm::EDAnalyzer

Classes

struct  detparameters
 

Public Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 
void beginRun (const edm::EventSetup &c)
 
void endJob ()
 
void getlayer (const DetId &detid, std::string &name, unsigned int &layerid)
 
 SiStripLAProfileBooker (const edm::ParameterSet &conf)
 
 ~SiStripLAProfileBooker ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Types

typedef std::map< unsigned int,
detparameters * > 
detparmap
 
typedef std::map< unsigned int,
MonitorElement * > 
histomap
 

Private Attributes

uint8_t Amplitudes [100]
 
float barycenter
 
int better_double_hit
 
int bw_fw
 
float chi2norm
 
int ClSize
 
edm::ParameterSet conf_
 
DQMStoredbe_
 
detparmap detmap
 
float EtaTrack
 
TDirectory * Event_Tree
 
int eventcounter
 
int EventCounter
 
int EventNumber
 
TTree * EventTree
 
int Ext_Int
 
TFile * hFile
 
histomap histos
 
float hit_std_dev
 
TDirectory * Hit_Tree
 
int HitCharge
 
int hitcounter
 
int hitcounter_2ndloop
 
int HitNr
 
int HitPerTrack
 
TTree * HitsTree
 
int id_detector
 
int Layer
 
float MagField
 
float Momentum
 
int MonoStereo
 
int nstrip
 
int ParticleCharge
 
float PhiTrack
 
float pitch_detector
 
float pt
 
int RunNumber
 
float SignCorrection
 
int size
 
detparmap summarydetmap
 
histomap summaryhisto
 
float sumx
 
float TanTrackAngle
 
float TanTrackAngleParallel
 
float thick_detector
 
TDirectory * Track_Tree
 
int trackcollsize
 
int TrackCounter
 
const TrackerGeometrytracker
 
TTree * TrackTree
 
int trajsize
 
std::string treename_
 
int Type
 
int Wheel
 
int worse_double_hit
 
float XGlobal
 
float YGlobal
 
float ZGlobal
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Definition at line 28 of file SiStripLAProfileBooker.h.

Member Typedef Documentation

typedef std::map<unsigned int, detparameters*> SiStripLAProfileBooker::detparmap
private

Definition at line 47 of file SiStripLAProfileBooker.h.

typedef std::map<unsigned int, MonitorElement*> SiStripLAProfileBooker::histomap
private

Definition at line 48 of file SiStripLAProfileBooker.h.

Constructor & Destructor Documentation

SiStripLAProfileBooker::SiStripLAProfileBooker ( const edm::ParameterSet conf)
explicit

Definition at line 66 of file SiStripLAProfileBooker.cc.

66  :
67  conf_(conf)
68 {
69 }
SiStripLAProfileBooker::~SiStripLAProfileBooker ( )

Definition at line 259 of file SiStripLAProfileBooker.cc.

References detmap, hFile, and summarydetmap.

259  {
260  detparmap::iterator detpariter;
261  for( detpariter=detmap.begin(); detpariter!=detmap.end();++detpariter)delete detpariter->second;
262  for( detpariter=summarydetmap.begin(); detpariter!=summarydetmap.end();++detpariter)delete detpariter->second;
263  delete hFile;
264 }

Member Function Documentation

void SiStripLAProfileBooker::analyze ( const edm::Event e,
const edm::EventSetup c 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 268 of file SiStripLAProfileBooker.cc.

References Amplitudes, barycenter, begin, better_double_hit, BoundSurface::bounds(), bw_fw, chi2norm, ClSize, SiStripRecHit2D::cluster(), conf_, cond::rpcobgas::detid, detmap, EtaTrack, edm::EventID::event(), eventcounter, EventNumber, EventTree, Ext_Int, TrackingRecHit::geographicalId(), edm::Event::getByLabel(), getlayer(), edm::ParameterSet::getParameter(), histos, hit_std_dev, HitCharge, hitcounter, hitcounter_2ndloop, HitNr, HitPerTrack, HitsTree, i, edm::EventBase::id(), id_detector, TrackerGeometry::idToDet(), edm::helpers::KeyVal< K, V >::key, TOBDetId::layer(), TIBDetId::layer(), Layer, TrajectoryStateOnSurface::localDirection(), StripTopology::localPitch(), BaseTrackerRecHit::localPosition(), LogDebug, PV3DBase< T, PVType, FrameType >::mag(), MagField, TIDDetId::module(), Momentum, GluedGeomDet::monoDet(), SiStripMatchedRecHit2D::monoHit(), MonoStereo, mergeVDriftHistosByStation::name, nstrip, ProjectedSiStripRecHit2D::originalHit(), ParticleCharge, TECDetId::petal(), PhiTrack, pitch_detector, position, funct::pow(), pt, DetId::rawId(), TOBDetId::rod(), edm::EventID::run(), RunNumber, SignCorrection, size, GeomDet::specificSurface(), mathSSE::sqrt(), StripSubdetector::stereo(), GluedGeomDet::stereoDet(), SiStripMatchedRecHit2D::stereoHit(), TIBDetId::string(), DetId::subdetId(), summaryhisto, sumx, GeomDet::surface(), TanTrackAngle, TanTrackAngleParallel, StripSubdetector::TEC, thick_detector, Bounds::thickness(), StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, GeomDet::toGlobal(), GeomDet::toLocal(), GeomDetUnit::topology(), trackcollsize, tracker, testEve_cfg::tracks, TrackTree, trajsize, Type, edm::helpers::KeyVal< K, V >::val, Wheel, TIDDetId::wheel(), TECDetId::wheel(), worse_double_hit, PV3DBase< T, PVType, FrameType >::x(), XGlobal, PV3DBase< T, PVType, FrameType >::y(), YGlobal, PV3DBase< T, PVType, FrameType >::z(), and ZGlobal.

269 {
270 
271  RunNumber = e.id().run();
272  EventNumber = e.id().event();
273 
274  eventcounter++;
275 
276  EventTree->Fill();
277 
278  //Analysis of Trajectory-RecHits
279 
280  edm::InputTag TkTag = conf_.getParameter<edm::InputTag>("Tracks");
281 
282  edm::Handle<reco::TrackCollection> trackCollection;
283  e.getByLabel(TkTag,trackCollection);
284 
286  e.getByLabel(TkTag,TrajectoryCollection);
287 
289  e.getByLabel(TkTag, TrajTrackMap);
290 
291  const reco::TrackCollection *tracks=trackCollection.product();
292 
293  // FIXME this has to be changed to use pointers to clusters...
294  std::map<const SiStripRecHit2D*,std::pair<float,float>,DetIdLess> hitangleassociation;
295  std::list<SiStripRecHit2D> cache; // ugly, inefficient, effective in making the above working
296 
297  trackcollsize=tracks->size();
298  trajsize=TrajectoryCollection->size();
299 
300  edm::LogInfo("SiStripLAProfileBooker::analyze") <<" Number of tracks in event = "<<trackcollsize<<"\n";
301  edm::LogInfo("SiStripLAProfileBooker::analyze") <<" Number of trajectories in event = "<<trajsize<<"\n";
302 
304 
305  for(TrajTrackIter = TrajTrackMap->begin(); TrajTrackIter!= TrajTrackMap->end(); TrajTrackIter++){ //loop on trajectories
306 
307  if(TrajTrackIter->key->foundHits()>=5){
308 
309  TrackTree->Fill();
310 
311  ParticleCharge = -99;
312  Momentum = -99;
313  pt = -99;
314  chi2norm = -99;
315  HitPerTrack = -99;
316  EtaTrack = -99;
317  PhiTrack = -99;
318 
319  ParticleCharge = TrajTrackIter->val->charge();
320  pt = TrajTrackIter->val->pt();
321  Momentum = TrajTrackIter->val->p();
322  chi2norm = TrajTrackIter->val->normalizedChi2();
323  EtaTrack = TrajTrackIter->val->eta();
324  PhiTrack = TrajTrackIter->val->phi();
325  HitPerTrack = TrajTrackIter->key->foundHits();
326 
327  std::vector<TrajectoryMeasurement> TMeas=TrajTrackIter->key->measurements();
328  std::vector<TrajectoryMeasurement>::iterator itm;
329 
330  for (itm=TMeas.begin();itm!=TMeas.end();itm++){ //loop on hits
331 
332  int i;
333  for(i=0;i<100;i++){Amplitudes[i]=0;}
334 
335  TanTrackAngle = -99;
337  ClSize = -99;
338  HitCharge = 0;
339  Type = -99;
340  Layer = -99;
341  Wheel = -99;
342  bw_fw = -99;
343  Ext_Int = -99;
344  MonoStereo = -99;
345  MagField = -99;
346  SignCorrection = -99;
347  XGlobal = -99;
348  YGlobal = -99;
349  ZGlobal = -99;
350  barycenter = -99;
351  hit_std_dev = -99;
352  sumx = 0;
353  id_detector=-1;
354  thick_detector=-1;
355  pitch_detector=-1;
356  HitNr = 1;
357 
358  TrajectoryStateOnSurface tsos=itm->updatedState();
359  const TransientTrackingRecHit::ConstRecHitPointer thit=itm->recHit();
360  if((thit->geographicalId().subdetId() == int(StripSubdetector::TIB)) || thit->geographicalId().subdetId()== int(StripSubdetector::TOB)){ //include only barrel
361  const SiStripMatchedRecHit2D* matchedhit=dynamic_cast<const SiStripMatchedRecHit2D*>((*thit).hit());
362  const ProjectedSiStripRecHit2D* phit=dynamic_cast<const ProjectedSiStripRecHit2D*>((*thit).hit());
363  const SiStripRecHit2D* hit=dynamic_cast<const SiStripRecHit2D*>((*thit).hit());
364  if(phit) hit=&(phit->originalHit());
365 
366  LocalVector trackdirection=tsos.localDirection();
367 
368  if(matchedhit){//if matched hit...
369 
370  GluedGeomDet * gdet=(GluedGeomDet *)tracker->idToDet(matchedhit->geographicalId());
371 
372  GlobalVector gtrkdir=gdet->toGlobal(trackdirection);
373 
374  // THIS THE POINTER TO THE MONO HIT OF A MATCHED HIT
375 
376  // top be migrated to the more direct interface of matchedhit
377  cache.push_back(matchedhit->monoHit());
378  const SiStripRecHit2D * monohit = &cache.back();
379  const SiStripRecHit2D::ClusterRef & monocluster=monohit->cluster();
380  const GeomDetUnit * monodet=gdet->monoDet();
381  // this does not exists anymore! either project the matched or use CPE
382  const LocalPoint monoposition = monohit->localPosition();
383 
385  id_detector = detid.rawId();
387  const StripTopology& mtopol=(StripTopology&)monodet->topology();
388  pitch_detector = mtopol.localPitch(monoposition);
389  const GlobalPoint monogposition = (monodet->surface()).toGlobal(monoposition);
390  ClSize = (monocluster->amplitudes()).size();
391 
392  const std::vector<uint8_t> amplitudes = monocluster->amplitudes();
393 
394  barycenter = monocluster->barycenter()- 0.5;
395  uint16_t FirstStrip = monocluster->firstStrip();
396  std::vector<uint8_t>::const_iterator idigi;
397  std::vector<uint8_t>::const_iterator begin=amplitudes.begin();
398  nstrip=0;
399  for(idigi=begin; idigi!=amplitudes.end(); idigi++){
400  Amplitudes[nstrip]=*idigi;
401  sumx+=pow(((FirstStrip+idigi-begin)-barycenter),2)*(*idigi);
402  HitCharge+=*idigi;
403  }
405 
406 
407  XGlobal = monogposition.x();
408  YGlobal = monogposition.y();
409  ZGlobal = monogposition.z();
410 
411  Type = detid.subdetId();
412  MonoStereo=detid.stereo();
413 
414  if(detid.subdetId() == int (StripSubdetector::TIB)){
415  TIBDetId TIBid=TIBDetId(detid);
416  Layer = TIBid.layer();
417  bw_fw = TIBid.string()[0];
418  Ext_Int = TIBid.string()[1];
419  }
420  if(detid.subdetId() == int (StripSubdetector::TOB)){
421  TOBDetId TOBid=TOBDetId(detid);
422  Layer = TOBid.layer();
423  bw_fw = TOBid.rod()[0];
424  }
425  if(detid.subdetId() == int (StripSubdetector::TID)){
426  TIDDetId TIDid=TIDDetId(detid);
427  Wheel = TIDid.wheel();
428  bw_fw = TIDid.module()[0];
429  }
430  if(detid.subdetId() == int (StripSubdetector::TEC)){
431  TECDetId TECid=TECDetId(detid);
432  Wheel = TECid.wheel();
433  bw_fw = TECid.petal()[0];
434  }
435 
436 
437  LocalVector monotkdir=monodet->toLocal(gtrkdir);
438 
439  if(monotkdir.z()!=0){
440 
441  // THE LOCAL ANGLE (MONO)
442  float tanangle = monotkdir.x()/monotkdir.z();
443  TanTrackAngleParallel = monotkdir.y()/monotkdir.z();
444  TanTrackAngle = tanangle;
445  detparmap::iterator TheDet=detmap.find(detid.rawId());
446  LocalVector localmagdir;
447  if(TheDet!=detmap.end())localmagdir=TheDet->second->magfield;
448  MagField = localmagdir.mag();
449  if(MagField != 0.){
450  LocalVector monoylocal(0,1,0);
451  float signcorrection = (localmagdir * monoylocal)/(MagField);
452  if(signcorrection!=0)SignCorrection=1/signcorrection;
453  }
454 
455  std::map<const SiStripRecHit2D *,std::pair<float,float>,DetIdLess>::iterator alreadystored=hitangleassociation.find(monohit);
456 
457 
458  if(alreadystored != hitangleassociation.end()){//decide which hit take
459  if(itm->estimate() > alreadystored->second.first){
460  worse_double_hit++;}
461  if(itm->estimate() < alreadystored->second.first){
463  hitangleassociation.insert(std::make_pair(monohit, std::make_pair(itm->estimate(),tanangle)));
464 
465  }}
466  else{
467  hitangleassociation.insert(make_pair(monohit, std::make_pair(itm->estimate(),tanangle)));
468  HitsTree->Fill();
469  hitcounter++;}
470 
471  // THIS THE POINTER TO THE STEREO HIT OF A MATCHED HIT
472 
473  // top be migrated to the more direct interface of matchedhit
474  cache.push_back(matchedhit->stereoHit());
475  const SiStripRecHit2D * stereohit = &cache.back();
476  const SiStripRecHit2D::ClusterRef & stereocluster=stereohit->cluster();
477  const GeomDetUnit * stereodet=gdet->stereoDet();
478  // this does not exists anymore! either project the matched or use CPE
479  const LocalPoint stereoposition = stereohit->localPosition();
481  id_detector = detid.rawId();
483  const StripTopology& stopol=(StripTopology&)stereodet->topology();
484  pitch_detector = stopol.localPitch(stereoposition);
485  const GlobalPoint stereogposition = (stereodet->surface()).toGlobal(stereoposition);
486 
487  ClSize = (stereocluster->amplitudes()).size();
488 
489  const std::vector<uint8_t> amplitudes = stereocluster->amplitudes();
490 
491  barycenter = stereocluster->barycenter()- 0.5;
492  uint16_t FirstStrip = stereocluster->firstStrip();
493  std::vector<uint8_t>::const_iterator idigi;
494  std::vector<uint8_t>::const_iterator begin=amplitudes.begin();
495  nstrip=0;
496  for(idigi=begin; idigi!=amplitudes.end(); idigi++){
497  Amplitudes[nstrip]=*idigi;
498  sumx+=pow(((FirstStrip+idigi-begin)-barycenter),2)*(*idigi);
499  HitCharge+=*idigi;
500  }
502 
503  XGlobal = stereogposition.x();
504  YGlobal = stereogposition.y();
505  ZGlobal = stereogposition.z();
506 
507  Type = detid.subdetId();
508  MonoStereo=detid.stereo();
509 
510  if(detid.subdetId() == int (StripSubdetector::TIB)){
511  TIBDetId TIBid=TIBDetId(detid);
512  Layer = TIBid.layer();
513  bw_fw = TIBid.string()[0];
514  Ext_Int = TIBid.string()[1];
515  }
516  if(detid.subdetId() == int (StripSubdetector::TOB)){
517  TOBDetId TOBid=TOBDetId(detid);
518  Layer = TOBid.layer();
519  bw_fw = TOBid.rod()[0];
520  }
521  if(detid.subdetId() == int (StripSubdetector::TID)){
522  TIDDetId TIDid=TIDDetId(detid);
523  Wheel = TIDid.wheel();
524  bw_fw = TIDid.module()[0];
525  }
526  if(detid.subdetId() == int (StripSubdetector::TEC)){
527  TECDetId TECid=TECDetId(detid);
528  Wheel = TECid.wheel();
529  bw_fw = TECid.petal()[0];
530  }
531 
532 
533  LocalVector stereotkdir=stereodet->toLocal(gtrkdir);
534 
535  if(stereotkdir.z()!=0){
536 
537  // THE LOCAL ANGLE (STEREO)
538  float tanangle = stereotkdir.x()/stereotkdir.z();
539  TanTrackAngleParallel = stereotkdir.y()/stereotkdir.z();
540  TanTrackAngle = tanangle;
541  detparmap::iterator TheDet=detmap.find(detid.rawId());
542  LocalVector localmagdir;
543  if(TheDet!=detmap.end())localmagdir=TheDet->second->magfield;
544  MagField = localmagdir.mag();
545  LocalVector stereoylocal(0,1,0);
546  if(MagField != 0.){
547  float signcorrection = (localmagdir * stereoylocal)/(MagField);
548  if(signcorrection!=0)SignCorrection=1/signcorrection;}
549 
550  std::map<const SiStripRecHit2D *,std::pair<float,float>,DetIdLess>::iterator alreadystored=hitangleassociation.find(stereohit);
551 
552  if(alreadystored != hitangleassociation.end()){//decide which hit take
553  if(itm->estimate() > alreadystored->second.first){
554  worse_double_hit++;}
555  if(itm->estimate() < alreadystored->second.first){
557  hitangleassociation.insert(std::make_pair(stereohit, std::make_pair(itm->estimate(),tanangle)));
558 
559  }}
560  else{
561  hitangleassociation.insert(std::make_pair(stereohit, std::make_pair(itm->estimate(),tanangle)));
562  HitsTree->Fill();
563  hitcounter++;}
564 
565  }
566  }
567  }
568  else if(hit){
569 
570 
571  // hit= POINTER TO THE RECHIT
572 
573  const SiStripRecHit2D::ClusterRef & cluster=hit->cluster();
574 
576  const LocalPoint position = hit->localPosition();
578  id_detector = detid.rawId();
580  const StripTopology& topol=(StripTopology&)gdet->topology();
581  pitch_detector = topol.localPitch(position);
582  const GlobalPoint gposition = (gdet->surface()).toGlobal(position);
583 
584  ClSize = (cluster->amplitudes()).size();
585 
586  const std::vector<uint8_t> amplitudes = cluster->amplitudes();
587 
588  barycenter = cluster->barycenter()- 0.5;
589  uint16_t FirstStrip = cluster->firstStrip();
590  std::vector<uint8_t>::const_iterator idigi;
591  std::vector<uint8_t>::const_iterator begin=amplitudes.begin();
592  nstrip=0;
593  for(idigi=begin; idigi!=amplitudes.end(); idigi++){
594  Amplitudes[nstrip]=*idigi;
595  sumx+=pow(((FirstStrip+idigi-begin)-barycenter),2)*(*idigi);
596  HitCharge+=*idigi;
597  }
599 
600  XGlobal = gposition.x();
601  YGlobal = gposition.y();
602  ZGlobal = gposition.z();
603 
604  Type = detid.subdetId();
605  MonoStereo=detid.stereo();
606 
607  if(detid.subdetId() == int (StripSubdetector::TIB)){
608  TIBDetId TIBid=TIBDetId(detid);
609  Layer = TIBid.layer();
610  bw_fw = TIBid.string()[0];
611  Ext_Int = TIBid.string()[1];
612  }
613  if(detid.subdetId() == int (StripSubdetector::TOB)){
614  TOBDetId TOBid=TOBDetId(detid);
615  Layer = TOBid.layer();
616  bw_fw = TOBid.rod()[0];
617  }
618  if(detid.subdetId() == int (StripSubdetector::TID)){
619  TIDDetId TIDid=TIDDetId(detid);
620  Wheel = TIDid.wheel();
621  bw_fw = TIDid.module()[0];
622  }
623  if(detid.subdetId() == int (StripSubdetector::TEC)){
624  TECDetId TECid=TECDetId(detid);
625  Wheel = TECid.wheel();
626  bw_fw = TECid.petal()[0];
627  }
628 
629  if(trackdirection.z()!=0){
630 
631  // THE LOCAL ANGLE
632  float tanangle = trackdirection.x()/trackdirection.z();
633  TanTrackAngleParallel = trackdirection.y()/trackdirection.z();
634  TanTrackAngle = tanangle;
635  detparmap::iterator TheDet=detmap.find(detid.rawId());
636  LocalVector localmagdir;
637  if(TheDet!=detmap.end())localmagdir=TheDet->second->magfield;
638  MagField = localmagdir.mag();
639  if(MagField != 0.){
640  LocalVector ylocal(0,1,0);
641  float signcorrection = (localmagdir * ylocal)/(MagField);
642  if(signcorrection!=0)SignCorrection=1/signcorrection;}
643 
644  std::map<const SiStripRecHit2D *,std::pair<float,float>, DetIdLess>::iterator alreadystored=hitangleassociation.find(hit);
645 
646  if(alreadystored != hitangleassociation.end()){//decide which hit take
647  if(itm->estimate() > alreadystored->second.first){
648  worse_double_hit++;}
649  if(itm->estimate() < alreadystored->second.first){
651  hitangleassociation.insert(std::make_pair(hit, std::make_pair(itm->estimate(),tanangle)));
652 
653  }}
654  else{
655  hitangleassociation.insert(std::make_pair(hit,std::make_pair(itm->estimate(), tanangle) ) );
656  HitsTree->Fill();
657  hitcounter++;}
658 
659 
660  }
661  }
662  }
663  }
664  }
665  }
666  std::map<const SiStripRecHit2D *,std::pair<float,float>,DetIdLess>::iterator hitsiter;
667 
668 
669  for(hitsiter=hitangleassociation.begin();hitsiter!=hitangleassociation.end();hitsiter++){
670 
672 
673  const SiStripRecHit2D* hit=hitsiter->first;
674  const SiStripRecHit2D::ClusterRef & cluster=hit->cluster();
675 
676  size=(cluster->amplitudes()).size();
677 
679 
680  float tangent = hitsiter->second.second;
681 
682  //Sign and XZ plane projection correction applied in TrackLocalAngle (TIB|TOB layers)
683 
684  detparmap::iterator thedet=detmap.find(detid.rawId());
685  LocalVector localmagdir;
686  if(thedet!=detmap.end())localmagdir=thedet->second->magfield;
687  float localmagfield = localmagdir.mag();
688 
689  if(localmagfield != 0.){
690 
691  LocalVector ylocal(0,1,0);
692 
693  float normprojection = (localmagdir * ylocal)/(localmagfield);
694 
695  if(normprojection == 0.)LogDebug("SiStripLAProfileBooker::analyze")<<"Error: YBprojection = 0";
696 
697  else{
698  float signprojcorrection = 1/normprojection;
699  tangent*=signprojcorrection;
700  }
701  }
702 
703  //Filling histograms
704 
705  histomap::iterator thehisto=histos.find(detid.rawId());
706 
707  if(thehisto==histos.end())edm::LogError("SiStripLAProfileBooker::analyze")<<"Error: the profile associated to"<<detid.rawId()<<"does not exist! ";
708  else thehisto->second->Fill(tangent,size);
709 
710  //Summary histograms
711  std::string name;
712  unsigned int layerid;
713  getlayer(detid,name,layerid);
714  histomap::iterator thesummaryhisto=summaryhisto.find(layerid);
715  if(thesummaryhisto==summaryhisto.end())edm::LogError("SiStripLAProfileBooker::analyze")<<"Error: the profile associated to subdet "<<name<<"does not exist! ";
716  else thesummaryhisto->second->Fill(tangent,size);
717 
718  }
719 
720 
721 }
#define LogDebug(id)
RunNumber_t run() const
Definition: EventID.h:42
T getParameter(std::string const &) const
EventNumber_t event() const
Definition: EventID.h:44
int i
Definition: DBlmapReader.cc:9
unsigned int layer() const
layer id
Definition: TOBDetId.h:39
const GeomDetUnit * monoDet() const
Definition: GluedGeomDet.h:20
LocalVector localDirection() const
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:47
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:10
T y() const
Definition: PV3DBase.h:62
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
Definition: GeomDet.h:62
std::vector< unsigned int > string() const
string id
Definition: TIBDetId.h:53
const BoundPlane & specificSurface() const
Same as surface(), kept for backward compatibility.
Definition: GeomDet.h:38
std::vector< unsigned int > rod() const
rod id
Definition: TOBDetId.h:49
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
virtual float thickness() const =0
virtual const Topology & topology() const =0
virtual float localPitch(const LocalPoint &) const =0
std::vector< unsigned int > petal() const
petal id
Definition: TECDetId.h:61
T mag() const
Definition: PV3DBase.h:66
T sqrt(T t)
Definition: SSEVec.h:46
T z() const
Definition: PV3DBase.h:63
ClusterRef cluster() const
std::vector< unsigned int > module() const
det id
Definition: TIDDetId.h:64
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
virtual const GeomDet * idToDet(DetId) const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
unsigned int stereo() const
stereo
const Bounds & bounds() const
Definition: BoundSurface.h:89
virtual LocalPoint localPosition() const
SiStripRecHit2D stereoHit() const
tuple tracks
Definition: testEve_cfg.py:39
unsigned int wheel() const
wheel id
Definition: TECDetId.h:52
unsigned int layer() const
layer id
Definition: TIBDetId.h:41
std::vector< Trajectory > TrajectoryCollection
SiStripRecHit2D monoHit() const
edm::EventID id() const
Definition: EventBase.h:56
#define begin
Definition: vmac.h:31
const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:35
static int position[264][3]
Definition: ReadPGInfo.cc:509
DetId geographicalId() const
T x() const
Definition: PV3DBase.h:61
const SiStripRecHit2D & originalHit() const
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:21
unsigned int wheel() const
wheel id
Definition: TIDDetId.h:50
const TrackerGeometry * tracker
void getlayer(const DetId &detid, std::string &name, unsigned int &layerid)
void SiStripLAProfileBooker::beginRun ( const edm::EventSetup c)

Definition at line 73 of file SiStripLAProfileBooker.cc.

References Amplitudes, better_double_hit, DQMStore::bookProfile(), BoundSurface::bounds(), bw_fw, chi2norm, ClSize, conf_, SiStripHistoId::createHistoId(), dbe_, detmap, EtaTrack, Event_Tree, eventcounter, EventCounter, EventNumber, EventTree, Ext_Int, edm::EventSetup::get(), getlayer(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hFile, histos, hit_std_dev, Hit_Tree, HitCharge, hitcounter, hitcounter_2ndloop, HitNr, HitPerTrack, HitsTree, id_detector, TrackerGeometry::idToDet(), MagneticField::inTesla(), edm::InputTag::label(), Layer, StripTopology::localPitch(), SiStripLAProfileBooker::detparameters::magfield, MagField, HLT_ES_cff::magfield, Momentum, MonoStereo, mergeVDriftHistosByStation::name, cppFunctionSkipper::operator, AlCaHLTBitMon_ParallelJobs::p, ParticleCharge, PhiTrack, SiStripLAProfileBooker::detparameters::pitch, pitch_detector, profilereader::profile, pt, DetId::rawId(), RunNumber, MonitorElement::setAxisTitle(), SiStripFolderOrganizer::setDetectorFolder(), SiStripFolderOrganizer::setSiStripFolder(), SignCorrection, GeomDet::specificSurface(), DetId::subdetId(), summarydetmap, summaryhisto, GeomDet::surface(), TanTrackAngle, TanTrackAngleParallel, StripSubdetector::TEC, thick_detector, Bounds::thickness(), SiStripLAProfileBooker::detparameters::thickness, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, toLocal(), GeomDetUnit::topology(), Track_Tree, trackcollsize, TrackCounter, tracker, TrackTree, trajsize, Type, Wheel, worse_double_hit, XGlobal, YGlobal, and ZGlobal.

73  {
74 
75 
76  //get magnetic field and geometry from ES
78  c.get<IdealMagneticFieldRecord>().get(esmagfield);
79  const MagneticField * magfield=&(*esmagfield);
80 
82  c.get<TrackerDigiGeometryRecord>().get(estracker);
83  tracker=&(*estracker);
84 
85  std::vector<uint32_t> activeDets;
86  edm::ESHandle<SiStripDetCabling> tkmechstruct=0;
87  if (conf_.getParameter<bool>("UseStripCablingDB")){
88  c.get<SiStripDetCablingRcd>().get(tkmechstruct);
89  activeDets.clear();
90  tkmechstruct->addActiveDetectorsRawIds(activeDets);
91  }
92  else {
93  const TrackerGeometry::DetIdContainer& Id = estracker->detIds();
94  TrackerGeometry::DetIdContainer::const_iterator Iditer;
95  activeDets.clear();
96  for(Iditer=Id.begin();Iditer!=Id.end();Iditer++){
97  activeDets.push_back(Iditer->rawId());
98  }
99  }
100 
101  edm::InputTag TkTag = conf_.getParameter<edm::InputTag>("Tracks");
102  //Get Ids;
103  double ModuleRangeMin=conf_.getParameter<double>("ModuleXMin");
104  double ModuleRangeMax=conf_.getParameter<double>("ModuleXMax");
105  double TIBRangeMin=conf_.getParameter<double>("TIBXMin");
106  double TIBRangeMax=conf_.getParameter<double>("TIBXMax");
107  double TOBRangeMin=conf_.getParameter<double>("TOBXMin");
108  double TOBRangeMax=conf_.getParameter<double>("TOBXMax");
109  int TIB_bin=conf_.getParameter<int>("TIB_bin");
110  int TOB_bin=conf_.getParameter<int>("TOB_bin");
111  int SUM_bin=conf_.getParameter<int>("SUM_bin");
112 
113  hFile = new TFile (conf_.getUntrackedParameter<std::string>("treeName").c_str(), "RECREATE" );
114 
115  Hit_Tree = hFile->mkdir("Hit_Tree");
116  Track_Tree = hFile->mkdir("Track_Tree");
117  Event_Tree = hFile->mkdir("Event_Tree");
118 
119  HitsTree = new TTree("HitsTree", "HitsTree");
120 
121  HitsTree->Branch("RunNumber", &RunNumber, "RunNumber/I");
122  HitsTree->Branch("EventNumber", &EventNumber, "EventNumber/I");
123  HitsTree->Branch("TanTrackAngle", &TanTrackAngle, "TanTrackAngle/F");
124  HitsTree->Branch("TanTrackAngleParallel", &TanTrackAngleParallel, "TanTrackAngleParallel/F");
125  HitsTree->Branch("ClSize", &ClSize, "ClSize/I");
126  HitsTree->Branch("HitCharge", &HitCharge, "HitCharge/I");
127  HitsTree->Branch("Hit_Std_Dev", &hit_std_dev, "hit_std_dev/F");
128  HitsTree->Branch("Type", &Type, "Type/I");
129  HitsTree->Branch("Layer", &Layer, "Layer/I");
130  HitsTree->Branch("Wheel", &Wheel, "Wheel/I");
131  HitsTree->Branch("bw_fw", &bw_fw, "bw_fw/I");
132  HitsTree->Branch("Ext_Int", &Ext_Int, "Ext_Int/I");
133  HitsTree->Branch("MonoStereo", &MonoStereo, "MonoStereo/I");
134  HitsTree->Branch("MagField", &MagField, "MagField/F");
135  HitsTree->Branch("SignCorrection", &SignCorrection, "SignCorrection/F");
136  HitsTree->Branch("XGlobal", &XGlobal, "XGlobal/F");
137  HitsTree->Branch("YGlobal", &YGlobal, "YGlobal/F");
138  HitsTree->Branch("ZGlobal", &ZGlobal, "ZGlobal/F");
139  HitsTree->Branch("ParticleCharge", &ParticleCharge, "ParticleCharge/I");
140  HitsTree->Branch("Momentum", &Momentum, "Momentum/F");
141  HitsTree->Branch("pt", &pt, "pt/F");
142  HitsTree->Branch("chi2norm", &chi2norm, "chi2norm/F");
143  HitsTree->Branch("EtaTrack", &EtaTrack, "EtaTrack/F");
144  HitsTree->Branch("PhiTrack", &PhiTrack, "PhiTrack/F");
145  HitsTree->Branch("TrajSize", &trajsize, "trajsize/I");
146  HitsTree->Branch("HitNr", &HitNr, "HitNr/I");
147  HitsTree->Branch("HitPerTrack", &HitPerTrack, "HitPerTrack/I");
148  HitsTree->Branch("id_detector", &id_detector, "id_detector/I");
149  HitsTree->Branch("thick_detector", &thick_detector, "thick_detector/F");
150  HitsTree->Branch("pitch_detector", &pitch_detector, "pitch_detector/F");
151  HitsTree->Branch("Amplitudes", Amplitudes, "Amplitudes[ClSize]/I");
152 
153  HitsTree->SetDirectory(Hit_Tree);
154 
155  TrackTree = new TTree("TrackTree", "TrackTree");
156 
157  TrackTree->Branch("TrackCounter", &TrackCounter, "TrackCounter/I");
158 
159  TrackTree->SetDirectory(Track_Tree);
160 
161  EventTree = new TTree("EventTree", "EventTree");
162 
163  EventTree->Branch("EventCounter", &EventCounter, "EventCounter/I");
164 
165  EventTree->SetDirectory(Event_Tree);
166 
167 
168  // use SistripHistoId for producing histogram id (and title)
169  SiStripHistoId hidmanager;
170 
171  // create SiStripFolderOrganizer
172  SiStripFolderOrganizer folder_organizer;
173 
175 
176  //get all detids
177 
178  for(std::vector<uint32_t>::const_iterator Id = activeDets.begin(); Id!=activeDets.end(); Id++){
179 
180  // for(Iditer=Id.begin();Iditer!=Id.end();Iditer++){ //loop on detids
181  DetId Iditero=DetId(*Id);
182  DetId *Iditer=&Iditero;
183  if((Iditer->subdetId() == int(StripSubdetector::TIB)) || (Iditer->subdetId() == int(StripSubdetector::TOB))){ //include only barrel
184 
185  int module_bin = 0;
186  if(Iditer->subdetId() == int(StripSubdetector::TIB)){
187  module_bin = TIB_bin;
188  }else{
189  module_bin = TOB_bin;
190  }
191 
192  // create a TProfile for each module
193  StripSubdetector subid(*Iditer);
194  std::string hid;
195  //Mono single sided detectors
196  LocalPoint p;
197  const GeomDetUnit * stripdet=dynamic_cast<const GeomDetUnit*>(tracker->idToDet(subid));
198  if(stripdet==0)continue;
199  const StripTopology& topol=(StripTopology&)stripdet->topology();
200  float thickness=stripdet->specificSurface().bounds().thickness();
201 
202  folder_organizer.setDetectorFolder(Iditer->rawId());
203  hid = hidmanager.createHistoId(TkTag.label().c_str(),"det",Iditer->rawId());
204  MonitorElement * profile=dbe_->bookProfile(hid,hid,module_bin,ModuleRangeMin,ModuleRangeMax,20,0,5,"");
205  detparameters *param=new detparameters;
206  histos[Iditer->rawId()] = profile;
207  detmap[Iditer->rawId()] = param;
208  param->thickness = thickness*10000;
209  param->pitch = topol.localPitch(p)*10000;
210 
211  const GlobalPoint globalp = (stripdet->surface()).toGlobal(p);
212  GlobalVector globalmagdir = magfield->inTesla(globalp);
213  param->magfield=(stripdet->surface()).toLocal(globalmagdir);
214 
215  profile->setAxisTitle("tan(#theta_{t})",1);
216  profile->setAxisTitle("Cluster size",2);
217 
218  // create a summary histo if it does not exist already
219  std::string name;
220  unsigned int layerid;
221  getlayer(subid,name,layerid);
222  name+=TkTag.label().c_str();
223  if(summaryhisto.find(layerid)==(summaryhisto.end())){
224  folder_organizer.setSiStripFolder();
225  MonitorElement * summaryprofile=0;
226  if (subid.subdetId()==int (StripSubdetector::TIB)||subid.subdetId()==int (StripSubdetector::TID))
227  summaryprofile=dbe_->bookProfile(name,name,SUM_bin,TIBRangeMin,TIBRangeMax,20,0,5,"");
228  else if (subid.subdetId()==int (StripSubdetector::TOB)||subid.subdetId()==int (StripSubdetector::TEC))
229  summaryprofile=dbe_->bookProfile(name,name,SUM_bin,TOBRangeMin,TOBRangeMax,20,0,5,"");
230  if(summaryprofile){
231  detparameters *summaryparam=new detparameters;
232  summaryhisto[layerid] = summaryprofile;
233  summarydetmap[layerid] = summaryparam;
234  summaryparam->thickness = thickness*10000;
235  summaryparam->pitch = topol.localPitch(p)*10000;
236  summaryprofile->setAxisTitle("tan(#theta_{t})",1);
237  summaryprofile->setAxisTitle("Cluster size",2);
238  }
239  }
240 
241  }
242  }
243 
244  trackcollsize = 0;
245  trajsize = 0;
246  RunNumber = 0;
247  EventNumber = 0;
248  hitcounter = 0;
249  hitcounter_2ndloop = 0;
250  worse_double_hit = 0;
251  better_double_hit = 0;
252  eventcounter = 0;
253 
254  EventCounter = 1;
255  TrackCounter = 1;
256 
257 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
tuple magfield
Definition: HLT_ES_cff.py:2311
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
const BoundPlane & specificSurface() const
Same as surface(), kept for backward compatibility.
Definition: GeomDet.h:38
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
virtual float thickness() const =0
virtual const Topology & topology() const =0
virtual float localPitch(const LocalPoint &) const =0
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1031
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
virtual const GeomDet * idToDet(DetId) const
Definition: DetId.h:20
const Bounds & bounds() const
Definition: BoundSurface.h:89
const T & get() const
Definition: EventSetup.h:55
std::string const & label() const
Definition: InputTag.h:25
const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:35
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::vector< DetId > DetIdContainer
const TrackerGeometry * tracker
void getlayer(const DetId &detid, std::string &name, unsigned int &layerid)
void SiStripLAProfileBooker::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 760 of file SiStripLAProfileBooker.cc.

References conf_, dbe_, edm::ParameterSet::getUntrackedParameter(), hFile, and DQMStore::save().

760  {
761 
762  std::string outputFile_ =conf_.getUntrackedParameter<std::string>("fileName", "LorentzAngle.root");
763  dbe_->save(outputFile_);
764 
765  hFile->Write();
766  hFile->Close();
767 }
T getUntrackedParameter(std::string const &, T const &) const
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2113
void SiStripLAProfileBooker::getlayer ( const DetId detid,
std::string &  name,
unsigned int &  layerid 
)

Definition at line 726 of file SiStripLAProfileBooker.cc.

References TOBDetId::layer(), TIBDetId::layer(), TIDDetId::ring(), TECDetId::ring(), DetId::subdetId(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, and StripSubdetector::TOB.

Referenced by analyze(), and beginRun().

726  {
727  int layer=0;
728  std::stringstream layernum;
729 
730  if(detid.subdetId() == int (StripSubdetector::TIB)){
731  TIBDetId TIBid=TIBDetId(detid);
732  name+="TIB_Layer_";
733  layer = TIBid.layer();
734  }
735 
736  else if(detid.subdetId() == int (StripSubdetector::TID)){
737  TIDDetId TIDid=TIDDetId(detid);
738  name+="TID_Ring_";
739  layer = TIDid.ring();
740  }
741 
742  else if(detid.subdetId() == int (StripSubdetector::TOB)){
743  TOBDetId TOBid=TOBDetId(detid);
744  name+="TOB_Layer_";
745  layer = TOBid.layer();
746 
747  }
748 
749  else if(detid.subdetId() == int (StripSubdetector::TEC)){
750  TECDetId TECid=TECDetId(detid);
751  name+="TEC_Ring_";
752  layer = TECid.ring();
753  }
754  layernum<<layer;
755  name+=layernum.str();
756  layerid=detid.subdetId()*10+layer;
757 
758 }
unsigned int layer() const
layer id
Definition: TOBDetId.h:39
unsigned int ring() const
ring id
Definition: TIDDetId.h:55
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
unsigned int layer() const
layer id
Definition: TIBDetId.h:41
unsigned int ring() const
ring id
Definition: TECDetId.h:71

Member Data Documentation

uint8_t SiStripLAProfileBooker::Amplitudes[100]
private

Definition at line 55 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::barycenter
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze().

int SiStripLAProfileBooker::better_double_hit
private

Definition at line 52 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::bw_fw
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::chi2norm
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::ClSize
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

edm::ParameterSet SiStripLAProfileBooker::conf_
private

Definition at line 69 of file SiStripLAProfileBooker.h.

Referenced by analyze(), beginRun(), and endJob().

DQMStore* SiStripLAProfileBooker::dbe_
private

Definition at line 65 of file SiStripLAProfileBooker.h.

Referenced by beginRun(), and endJob().

detparmap SiStripLAProfileBooker::detmap
private

Definition at line 67 of file SiStripLAProfileBooker.h.

Referenced by analyze(), beginRun(), and ~SiStripLAProfileBooker().

float SiStripLAProfileBooker::EtaTrack
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

TDirectory * SiStripLAProfileBooker::Event_Tree
private

Definition at line 60 of file SiStripLAProfileBooker.h.

Referenced by beginRun().

int SiStripLAProfileBooker::eventcounter
private

Definition at line 52 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::EventCounter
private

Definition at line 53 of file SiStripLAProfileBooker.h.

Referenced by beginRun().

int SiStripLAProfileBooker::EventNumber
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

TTree * SiStripLAProfileBooker::EventTree
private

Definition at line 57 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::Ext_Int
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

TFile* SiStripLAProfileBooker::hFile
private

Definition at line 58 of file SiStripLAProfileBooker.h.

Referenced by beginRun(), endJob(), and ~SiStripLAProfileBooker().

histomap SiStripLAProfileBooker::histos
private

Definition at line 62 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::hit_std_dev
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

TDirectory* SiStripLAProfileBooker::Hit_Tree
private

Definition at line 60 of file SiStripLAProfileBooker.h.

Referenced by beginRun().

int SiStripLAProfileBooker::HitCharge
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::hitcounter
private

Definition at line 52 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::hitcounter_2ndloop
private

Definition at line 52 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::HitNr
private

Definition at line 52 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::HitPerTrack
private

Definition at line 52 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

TTree* SiStripLAProfileBooker::HitsTree
private

Definition at line 57 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::id_detector
private

Definition at line 53 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::Layer
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::MagField
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::Momentum
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::MonoStereo
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::nstrip
private

Definition at line 52 of file SiStripLAProfileBooker.h.

Referenced by analyze().

int SiStripLAProfileBooker::ParticleCharge
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::PhiTrack
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::pitch_detector
private

Definition at line 54 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::pt
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::RunNumber
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), beginRun(), and PopulateDB.PopulateDB::run().

float SiStripLAProfileBooker::SignCorrection
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::size
private

Definition at line 52 of file SiStripLAProfileBooker.h.

Referenced by analyze().

detparmap SiStripLAProfileBooker::summarydetmap
private

Definition at line 68 of file SiStripLAProfileBooker.h.

Referenced by beginRun(), and ~SiStripLAProfileBooker().

histomap SiStripLAProfileBooker::summaryhisto
private

Definition at line 63 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::sumx
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze().

float SiStripLAProfileBooker::TanTrackAngle
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::TanTrackAngleParallel
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::thick_detector
private

Definition at line 54 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

TDirectory * SiStripLAProfileBooker::Track_Tree
private

Definition at line 60 of file SiStripLAProfileBooker.h.

Referenced by beginRun().

int SiStripLAProfileBooker::trackcollsize
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::TrackCounter
private

Definition at line 53 of file SiStripLAProfileBooker.h.

Referenced by beginRun().

const TrackerGeometry* SiStripLAProfileBooker::tracker
private

Definition at line 72 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

TTree * SiStripLAProfileBooker::TrackTree
private

Definition at line 57 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::trajsize
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

std::string SiStripLAProfileBooker::treename_
private

Definition at line 70 of file SiStripLAProfileBooker.h.

int SiStripLAProfileBooker::Type
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), beginRun(), and BeamSpotObj.BeamSpot::Reset().

int SiStripLAProfileBooker::Wheel
private

Definition at line 50 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

int SiStripLAProfileBooker::worse_double_hit
private

Definition at line 52 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::XGlobal
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::YGlobal
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().

float SiStripLAProfileBooker::ZGlobal
private

Definition at line 51 of file SiStripLAProfileBooker.h.

Referenced by analyze(), and beginRun().