CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
DTRunConditionVar Class Reference

#include <DTRunConditionVar.h>

Inheritance diagram for DTRunConditionVar:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &eventSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
 DTRunConditionVar (const edm::ParameterSet &pset)
 
 ~DTRunConditionVar () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Private Member Functions

void bookChamberHistos (DQMStore::IBooker &, const DTChamberId &dtCh, std::string histoType, int, float, float)
 

Private Attributes

std::map< uint32_t, std::map< std::string, MonitorElement * > > chamberHistos
 
bool debug
 
edm::EDGetTokenT< DTRecSegment4DCollectiondt4DSegmentsToken_
 
const DTGeometrydtGeom
 
double maxAnglePhiSegm
 
const DTMtimemTime
 
const DTMtimemTimeMap_
 
edm::ESGetToken< DTMtime, DTMtimeRcdmTimeToken_
 
edm::ESGetToken< DTGeometry, MuonGeometryRecordmuonGeomToken_
 
int nMinHitsPhi
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Description:

Author
: Paolo Bellan, Antonio Branca $date : 23/09/2011 15:42:04 CET $

Modification:

Definition at line 46 of file DTRunConditionVar.h.

Constructor & Destructor Documentation

◆ DTRunConditionVar()

DTRunConditionVar::DTRunConditionVar ( const edm::ParameterSet pset)

Definition at line 42 of file DTRunConditionVar.cc.

43  : // Get the debug parameter for verbose output
44  debug(pSet.getUntrackedParameter<bool>("debug", false)),
45  nMinHitsPhi(pSet.getUntrackedParameter<int>("nMinHitsPhi")),
46  maxAnglePhiSegm(pSet.getUntrackedParameter<double>("maxAnglePhiSegm")),
47  dt4DSegmentsToken_(consumes<DTRecSegment4DCollection>(pSet.getParameter<InputTag>("recoSegments"))),
48  muonGeomToken_(esConsumes<edm::Transition::BeginRun>()),

References edm::BeginRun.

◆ ~DTRunConditionVar()

DTRunConditionVar::~DTRunConditionVar ( )
override

Definition at line 51 of file DTRunConditionVar.cc.

51  {
52  LogTrace("DTDQM|DTMonitorModule|DTRunConditionVar") << "DTRunConditionVar: destructor called";
53 
54  // free memory
55 }

References LogTrace.

Member Function Documentation

◆ analyze()

void DTRunConditionVar::analyze ( const edm::Event event,
const edm::EventSetup eventSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 80 of file DTRunConditionVar.cc.

80  {
81  LogTrace("DTDQM|DTMonitorModule|DTRunConditionVar")
82  << "--- [DTRunConditionVar] Event analysed #Run: " << event.id().run() << " #Event: " << event.id().event()
83  << endl;
84 
85  // Get the map of vdrift from the setup
86  mTime = &eventSetup.getData(mTimeToken_);
87  mTimeMap_ = &*mTime;
88 
89  // Get the segment collection from the event
91  event.getByToken(dt4DSegmentsToken_, all4DSegments);
92 
93  // Loop over the segments
94  for (DTRecSegment4DCollection::const_iterator segment = all4DSegments->begin(); segment != all4DSegments->end();
95  ++segment) {
96  // Get the chamber from the setup
97  DTChamberId DTid = (DTChamberId)segment->chamberId();
98  uint32_t indexCh = DTid.rawId();
99 
100  // Fill v-drift values
101  if ((*segment).hasPhi()) {
102  int nHitsPhi = (*segment).phiSegment()->degreesOfFreedom() + 2;
103  double xdir = (*segment).phiSegment()->localDirection().x();
104  double zdir = (*segment).phiSegment()->localDirection().z();
105 
106  double anglePhiSegm = fabs(atan(xdir / zdir)) * 180. / TMath::Pi();
107 
108  if (nHitsPhi >= nMinHitsPhi && anglePhiSegm <= maxAnglePhiSegm) {
109  double segmentVDrift = segment->phiSegment()->vDrift();
110 
111  DTSuperLayerId indexSLPhi1(DTid, 1);
112  DTSuperLayerId indexSLPhi2(DTid, 3);
113 
114  float vDriftPhi1(0.), vDriftPhi2(0.);
115  float ResPhi1(0.), ResPhi2(0.);
116  int status1 = mTimeMap_->get(indexSLPhi1, vDriftPhi1, ResPhi1, DTVelocityUnits::cm_per_ns);
117  int status2 = mTimeMap_->get(indexSLPhi2, vDriftPhi2, ResPhi2, DTVelocityUnits::cm_per_ns);
118 
119  if (status1 != 0 || status2 != 0) {
120  DTSuperLayerId sl = (status1 != 0) ? indexSLPhi1 : indexSLPhi2;
121  throw cms::Exception("DTRunConditionVarClient") << "Could not find vDrift entry in DB for" << sl << endl;
122  }
123 
124  float vDriftMed = (vDriftPhi1 + vDriftPhi2) / 2.;
125 
126  segmentVDrift = vDriftMed * (1. - segmentVDrift);
127 
128  double segmentT0 = segment->phiSegment()->t0();
129 
130  if (segment->phiSegment()->ist0Valid())
131  (chamberHistos[indexCh])["T0_FromSegm"]->Fill(segmentT0);
132  if (segmentVDrift != vDriftMed)
133  (chamberHistos[indexCh])["VDrift_FromSegm"]->Fill(segmentVDrift);
134  }
135  }
136 
137  } //end loop on segment
138 
139 } //end analyze

References chamberHistos, DTVelocityUnits::cm_per_ns, dt4DSegmentsToken_, Exception, HcalObjRepresent::Fill(), DTMtime::get(), edm::EventSetup::getData(), LogTrace, maxAnglePhiSegm, mTime, mTimeMap_, mTimeToken_, nMinHitsPhi, Pi, DetId::rawId(), and xdir.

◆ bookChamberHistos()

void DTRunConditionVar::bookChamberHistos ( DQMStore::IBooker ,
const DTChamberId dtCh,
std::string  histoType,
int  ,
float  ,
float   
)
private

Definition at line 141 of file DTRunConditionVar.cc.

142  {
143  int wh = dtCh.wheel();
144  int sc = dtCh.sector();
145  int st = dtCh.station();
146  stringstream wheel;
147  wheel << wh;
148  stringstream station;
149  station << st;
150  stringstream sector;
151  sector << sc;
152 
153  string bookingFolder = "DT/02-Segments/Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str();
154  string histoTag = "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str();
155 
156  ibooker.setCurrentFolder(bookingFolder);
157 
158  LogTrace("DTDQM|DTMonitorModule|DTRunConditionVar")
159  << "[DTRunConditionVar]: booking histos in " << bookingFolder << endl;
160 
161  string histoName = histoType + histoTag;
162  const string& histoLabel = histoType;
163 
164  (chamberHistos[dtCh.rawId()])[histoType] = ibooker.book1D(histoName, histoLabel, nbins, min, max);
165 }

References dqm::implementation::IBooker::book1D(), chamberHistos, fftjetimagerecorder_cfi::histoLabel, HltBtagPostValidation_cff::histoName, dtResolutionTest_cfi::histoTag, LogTrace, SiStripPI::max, min(), LaserClient_cfi::nbins, DetId::rawId(), DTChamberId::sector(), dqm::implementation::NavigatorBase::setCurrentFolder(), DTChamberId::station(), relativeConstraints::station, DTChamberId::wheel(), and makeMuonMisalignmentScenario::wheel.

Referenced by bookHistograms().

◆ bookHistograms()

void DTRunConditionVar::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 57 of file DTRunConditionVar.cc.

59  {
60  LogTrace("DTDQM|DTMonitorModule|DTRunConditionVar") << "DTRunConditionVar: bookHistograms";
61 
62  for (int wheel = -2; wheel <= 2; wheel++) {
63  for (int sec = 1; sec <= 14; sec++) {
64  for (int stat = 1; stat <= 4; stat++) {
65  bookChamberHistos(ibooker, DTChamberId(wheel, stat, sec), "VDrift_FromSegm", 100, 0.0043, 0.0065);
66  bookChamberHistos(ibooker, DTChamberId(wheel, stat, sec), "T0_FromSegm", 100, -25., 25.);
67  }
68  }
69  }
70 
71  return;
72 }

References bookChamberHistos(), LogTrace, fileinputsource_cfi::sec, edm_modernize_messagelogger::stat, and makeMuonMisalignmentScenario::wheel.

◆ dqmBeginRun()

void DTRunConditionVar::dqmBeginRun ( const edm::Run run,
const edm::EventSetup setup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 74 of file DTRunConditionVar.cc.

74  {
75  // Get the DT Geometry
76  dtGeom = &setup.getData(muonGeomToken_);
77  return;
78 }

References dtGeom, muonGeomToken_, and singleTopDQM_cfi::setup.

Member Data Documentation

◆ chamberHistos

std::map<uint32_t, std::map<std::string, MonitorElement*> > DTRunConditionVar::chamberHistos
private

Definition at line 77 of file DTRunConditionVar.h.

Referenced by analyze(), and bookChamberHistos().

◆ debug

bool DTRunConditionVar::debug
private

◆ dt4DSegmentsToken_

edm::EDGetTokenT<DTRecSegment4DCollection> DTRunConditionVar::dt4DSegmentsToken_
private

Definition at line 68 of file DTRunConditionVar.h.

Referenced by analyze().

◆ dtGeom

const DTGeometry* DTRunConditionVar::dtGeom
private

Definition at line 71 of file DTRunConditionVar.h.

Referenced by dqmBeginRun().

◆ maxAnglePhiSegm

double DTRunConditionVar::maxAnglePhiSegm
private

Definition at line 66 of file DTRunConditionVar.h.

Referenced by analyze().

◆ mTime

const DTMtime* DTRunConditionVar::mTime
private

Definition at line 74 of file DTRunConditionVar.h.

Referenced by analyze().

◆ mTimeMap_

const DTMtime* DTRunConditionVar::mTimeMap_
private

Definition at line 75 of file DTRunConditionVar.h.

Referenced by analyze().

◆ mTimeToken_

edm::ESGetToken<DTMtime, DTMtimeRcd> DTRunConditionVar::mTimeToken_
private

Definition at line 73 of file DTRunConditionVar.h.

Referenced by analyze().

◆ muonGeomToken_

edm::ESGetToken<DTGeometry, MuonGeometryRecord> DTRunConditionVar::muonGeomToken_
private

Definition at line 70 of file DTRunConditionVar.h.

Referenced by dqmBeginRun().

◆ nMinHitsPhi

int DTRunConditionVar::nMinHitsPhi
private

Definition at line 65 of file DTRunConditionVar.h.

Referenced by analyze().

DTSuperLayerId
Definition: DTSuperLayerId.h:12
min
T min(T a, T b)
Definition: MathUtil.h:58
relativeConstraints.station
station
Definition: relativeConstraints.py:67
DTRunConditionVar::nMinHitsPhi
int nMinHitsPhi
Definition: DTRunConditionVar.h:65
DTRunConditionVar::debug
bool debug
Definition: DTRunConditionVar.h:64
DTRunConditionVar::dt4DSegmentsToken_
edm::EDGetTokenT< DTRecSegment4DCollection > dt4DSegmentsToken_
Definition: DTRunConditionVar.h:68
edm::Handle< DTRecSegment4DCollection >
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
DTRunConditionVar::mTimeMap_
const DTMtime * mTimeMap_
Definition: DTRunConditionVar.h:75
LaserClient_cfi.nbins
nbins
Definition: LaserClient_cfi.py:51
DTRunConditionVar::muonGeomToken_
edm::ESGetToken< DTGeometry, MuonGeometryRecord > muonGeomToken_
Definition: DTRunConditionVar.h:70
DTVelocityUnits::cm_per_ns
Definition: DTVelocityUnits.h:32
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
DTRunConditionVar::maxAnglePhiSegm
double maxAnglePhiSegm
Definition: DTRunConditionVar.h:66
DTRunConditionVar::mTime
const DTMtime * mTime
Definition: DTRunConditionVar.h:74
edm::RangeMap::const_iterator
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:43
dtResolutionTest_cfi.histoTag
histoTag
Definition: dtResolutionTest_cfi.py:21
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
xdir
Definition: DeviationsFromFileSensor2D.cc:15
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
fileinputsource_cfi.sec
sec
Definition: fileinputsource_cfi.py:94
DTRunConditionVar::bookChamberHistos
void bookChamberHistos(DQMStore::IBooker &, const DTChamberId &dtCh, std::string histoType, int, float, float)
Definition: DTRunConditionVar.cc:141
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
DTRunConditionVar::chamberHistos
std::map< uint32_t, std::map< std::string, MonitorElement * > > chamberHistos
Definition: DTRunConditionVar.h:77
Exception
Definition: hltDiff.cc:245
DTRunConditionVar::dtGeom
const DTGeometry * dtGeom
Definition: DTRunConditionVar.h:71
HltBtagPostValidation_cff.histoName
histoName
Definition: HltBtagPostValidation_cff.py:17
Pi
const double Pi
Definition: CosmicMuonParameters.h:18
DTChamberId
Definition: DTChamberId.h:14
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:234
edm_modernize_messagelogger.stat
stat
Definition: edm_modernize_messagelogger.py:27
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
fftjetimagerecorder_cfi.histoLabel
histoLabel
Definition: fftjetimagerecorder_cfi.py:12
DTMtime::get
int get(int wheelId, int stationId, int sectorId, int slId, float &mTime, float &mTrms, DTTimeUnits::type unit) const
Definition: DTMtime.cc:56
DTRunConditionVar::mTimeToken_
edm::ESGetToken< DTMtime, DTMtimeRcd > mTimeToken_
Definition: DTRunConditionVar.h:73
DTChamberId::wheel
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
edm::InputTag
Definition: InputTag.h:15
DTChamberId::station
int station() const
Return the station number.
Definition: DTChamberId.h:42