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 | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes
PixelLumiDQM Class Reference

#include <PixelLumi/PixelLumiDQM/plugins/PixelLumiDQM.h>

Inheritance diagram for PixelLumiDQM:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Classes

class  PixelClusterCount
 

Public Member Functions

 PixelLumiDQM (const edm::ParameterSet &)
 
 ~PixelLumiDQM ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Static Public Attributes

static double CM2_TO_NANOBARN = 1.0/1.e-33
 
static double FREQ_ORBIT = 11245.5
 
static const unsigned int lastBunchCrossing = 3564
 
static double rXSEC_PIXEL_CLUSTER = 9.4e-24
 
static double rXSEC_PIXEL_CLUSTER_UNC = 0.119e-24
 
static double SECONDS_PER_LS = double(0x40000)/double(FREQ_ORBIT)
 
static double XSEC_PIXEL_CLUSTER = 10.08e-24
 
static double XSEC_PIXEL_CLUSTER_UNC = 0.17e-24
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
unsigned int calculateBunchMask (MonitorElement *, std::vector< bool > &)
 
unsigned int calculateBunchMask (std::vector< float > &, unsigned int, std::vector< bool > &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void endRun (edm::Run const &, edm::EventSetup const &)
 

Private Attributes

std::vector< bool > bunchTriggerMask
 
UInt_t fBXNo
 
Double_t fChi2
 
std::vector< uint32_t > fDeadModules
 
UInt_t fEvtNo
 
unsigned int fFillNumber
 
MonitorElementfHistBunchCrossings
 
MonitorElementfHistBunchCrossingsLastLumi
 
MonitorElementfHistClusByLS
 
MonitorElementfHistClusterCountByBxCumulative
 
MonitorElementfHistClusterCountByBxLastLumi
 
std::map< std::string,
MonitorElement * > 
fHistContainerThisRun
 
MonitorElementfHistnBClusVsLS [3]
 
MonitorElementfHistnFMClusVsLS [2]
 
MonitorElementfHistnFPClusVsLS [2]
 
MonitorElementfHistRecordedByBxCumulative
 
MonitorElementfHistRecordedByBxLastLumi
 
MonitorElementfHistTotalRecordedLumiByLS
 
unsigned int filledAndUnmaskedBunches
 
bool fIncludePixelClusterInfo
 
bool fIncludePixelQualCheckHistos
 
bool fIncludeVertexInfo
 
MonitorElementfIntActiveCrossingsFromDB
 
std::string fLogFileName_
 
UInt_t fLSNo
 
double fMinClusterCharge
 
int fMinPixelsPerCluster
 
Double_t fNdof
 
std::map< int, PixelClusterCountfNumPixelClusters
 
UInt_t fNumTrkPerVtx
 
UInt_t fNumVtx
 
UInt_t fNumVtxGood
 
edm::EDGetTokenT
< edmNew::DetSetVector
< SiPixelCluster > > 
fPixelClusterLabel
 
int fResetIntervalInLumiSections
 
UInt_t fRunNo
 
UInt_t fTimestamp
 
Double_t fVtxX
 
Double_t fVtxY
 
Double_t fVtxZ
 
std::ofstream logFile_
 
bool useInnerBarrelLayer
 

Static Private Attributes

static size_t const kNumDisks = 2
 
static size_t const kNumLayers = 3
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: DQM Module producing Pixel Cluster Count Luminosity

Implementation notes: 1) Filling scheme is put in by 'hand' for now. Can obtain it from the cluster count but need higher rate in trigger; Best would be to have filling scheme in the DB. 2) Afterglow correction is put in by hand. 3) Currently barrel layer 0 is excluded, but a version using all pixel layers and disks is also in place. 4) A stable beam flag should be obtained from the DB to turn on actual checks. (Pixel Lumi does not make sense outside stable beams.) 5) Need a top module to correlate the info from the three trigger categories. NB: at present the module only uses the ZeroBias trigger providing about 85 Hz.

Definition at line 38 of file PixelLumiDQM.h.

Constructor & Destructor Documentation

PixelLumiDQM::PixelLumiDQM ( const edm::ParameterSet iConfig)
explicit

Definition at line 48 of file PixelLumiDQM.cc.

PixelLumiDQM::~PixelLumiDQM ( )

Definition at line 94 of file PixelLumiDQM.cc.

Member Function Documentation

void PixelLumiDQM::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::stream::EDAnalyzerBase.

Definition at line 108 of file PixelLumiDQM.cc.

void PixelLumiDQM::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiBlock,
edm::EventSetup const &   
)
privatevirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 491 of file PixelLumiDQM.cc.

void PixelLumiDQM::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  run,
edm::EventSetup const &   
)
overrideprivatevirtual

Implements DQMEDAnalyzer.

Definition at line 331 of file PixelLumiDQM.cc.

unsigned int PixelLumiDQM::calculateBunchMask ( MonitorElement e,
std::vector< bool > &  mask 
)
private

Definition at line 680 of file PixelLumiDQM.cc.

unsigned int PixelLumiDQM::calculateBunchMask ( std::vector< float > &  e,
unsigned int  nbins,
std::vector< bool > &  mask 
)
private

Definition at line 688 of file PixelLumiDQM.cc.

void PixelLumiDQM::dqmBeginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
privatevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 478 of file PixelLumiDQM.cc.

void PixelLumiDQM::endLuminosityBlock ( edm::LuminosityBlock const &  lumiBlock,
edm::EventSetup const &  es 
)
privatevirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 512 of file PixelLumiDQM.cc.

void PixelLumiDQM::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
privatevirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 484 of file PixelLumiDQM.cc.

void PixelLumiDQM::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 100 of file PixelLumiDQM.cc.

Member Data Documentation

std::vector<bool> PixelLumiDQM::bunchTriggerMask
private

Definition at line 166 of file PixelLumiDQM.h.

double PixelLumiDQM::CM2_TO_NANOBARN = 1.0/1.e-33
static

Definition at line 52 of file PixelLumiDQM.h.

UInt_t PixelLumiDQM::fBXNo
private

Definition at line 120 of file PixelLumiDQM.h.

Double_t PixelLumiDQM::fChi2
private

Definition at line 128 of file PixelLumiDQM.h.

std::vector<uint32_t> PixelLumiDQM::fDeadModules
private

Definition at line 141 of file PixelLumiDQM.h.

UInt_t PixelLumiDQM::fEvtNo
private

Definition at line 118 of file PixelLumiDQM.h.

unsigned int PixelLumiDQM::fFillNumber
private

Definition at line 169 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistBunchCrossings
private

Definition at line 157 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistBunchCrossingsLastLumi
private

Definition at line 158 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistClusByLS
private

Definition at line 161 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistClusterCountByBxCumulative
private

Definition at line 160 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistClusterCountByBxLastLumi
private

Definition at line 159 of file PixelLumiDQM.h.

std::map<std::string, MonitorElement*> PixelLumiDQM::fHistContainerThisRun
private

Definition at line 137 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistnBClusVsLS[3]
private

Definition at line 154 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistnFMClusVsLS[2]
private

Definition at line 156 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistnFPClusVsLS[2]
private

Definition at line 155 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistRecordedByBxCumulative
private

Definition at line 164 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistRecordedByBxLastLumi
private

Definition at line 163 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fHistTotalRecordedLumiByLS
private

Definition at line 162 of file PixelLumiDQM.h.

unsigned int PixelLumiDQM::filledAndUnmaskedBunches
private

Definition at line 167 of file PixelLumiDQM.h.

bool PixelLumiDQM::fIncludePixelClusterInfo
private

Definition at line 133 of file PixelLumiDQM.h.

bool PixelLumiDQM::fIncludePixelQualCheckHistos
private

Definition at line 134 of file PixelLumiDQM.h.

bool PixelLumiDQM::fIncludeVertexInfo
private

Definition at line 132 of file PixelLumiDQM.h.

MonitorElement* PixelLumiDQM::fIntActiveCrossingsFromDB
private

Definition at line 153 of file PixelLumiDQM.h.

std::string PixelLumiDQM::fLogFileName_
private

Definition at line 170 of file PixelLumiDQM.h.

UInt_t PixelLumiDQM::fLSNo
private

Definition at line 119 of file PixelLumiDQM.h.

double PixelLumiDQM::fMinClusterCharge
private

Definition at line 149 of file PixelLumiDQM.h.

int PixelLumiDQM::fMinPixelsPerCluster
private

Definition at line 146 of file PixelLumiDQM.h.

Double_t PixelLumiDQM::fNdof
private

Definition at line 129 of file PixelLumiDQM.h.

std::map<int, PixelClusterCount> PixelLumiDQM::fNumPixelClusters
private

Definition at line 130 of file PixelLumiDQM.h.

UInt_t PixelLumiDQM::fNumTrkPerVtx
private

Definition at line 124 of file PixelLumiDQM.h.

UInt_t PixelLumiDQM::fNumVtx
private

Definition at line 122 of file PixelLumiDQM.h.

UInt_t PixelLumiDQM::fNumVtxGood
private

Definition at line 123 of file PixelLumiDQM.h.

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > PixelLumiDQM::fPixelClusterLabel
private

Definition at line 115 of file PixelLumiDQM.h.

double PixelLumiDQM::FREQ_ORBIT = 11245.5
static

Definition at line 42 of file PixelLumiDQM.h.

int PixelLumiDQM::fResetIntervalInLumiSections
private

Definition at line 135 of file PixelLumiDQM.h.

UInt_t PixelLumiDQM::fRunNo
private

Definition at line 117 of file PixelLumiDQM.h.

UInt_t PixelLumiDQM::fTimestamp
private

Definition at line 121 of file PixelLumiDQM.h.

Double_t PixelLumiDQM::fVtxX
private

Definition at line 125 of file PixelLumiDQM.h.

Double_t PixelLumiDQM::fVtxY
private

Definition at line 126 of file PixelLumiDQM.h.

Double_t PixelLumiDQM::fVtxZ
private

Definition at line 127 of file PixelLumiDQM.h.

size_t const PixelLumiDQM::kNumDisks = 2
staticprivate

Definition at line 77 of file PixelLumiDQM.h.

size_t const PixelLumiDQM::kNumLayers = 3
staticprivate

Definition at line 76 of file PixelLumiDQM.h.

const unsigned int PixelLumiDQM::lastBunchCrossing = 3564
static

Definition at line 53 of file PixelLumiDQM.h.

std::ofstream PixelLumiDQM::logFile_
private

Definition at line 172 of file PixelLumiDQM.h.

double PixelLumiDQM::rXSEC_PIXEL_CLUSTER = 9.4e-24
static

Definition at line 50 of file PixelLumiDQM.h.

double PixelLumiDQM::rXSEC_PIXEL_CLUSTER_UNC = 0.119e-24
static

Definition at line 51 of file PixelLumiDQM.h.

double PixelLumiDQM::SECONDS_PER_LS = double(0x40000)/double(FREQ_ORBIT)
static

Definition at line 43 of file PixelLumiDQM.h.

bool PixelLumiDQM::useInnerBarrelLayer
private

Definition at line 168 of file PixelLumiDQM.h.

double PixelLumiDQM::XSEC_PIXEL_CLUSTER = 10.08e-24
static

Definition at line 46 of file PixelLumiDQM.h.

double PixelLumiDQM::XSEC_PIXEL_CLUSTER_UNC = 0.17e-24
static

Definition at line 47 of file PixelLumiDQM.h.