CMS 3D CMS Logo

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

#include <BeamSpotDipServer.h>

Inheritance diagram for BeamSpotDipServer:
DQMOneLumiEDAnalyzer<> DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... > edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 BeamSpotDipServer (const edm::ParameterSet &)
 
- Public Member Functions inherited from DQMOneLumiEDAnalyzer<>
void accumulate (edm::Event const &event, edm::EventSetup const &setup) override
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
 DQMOneLumiEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
bool getCanSaveByLumi () override
 
- Public Member Functions inherited from DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... >
void accumulate (edm::Event const &event, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMOneEDAnalyzer ()
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
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
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const noexcept
 
bool wantsStreamRuns () const noexcept
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &) override
 
void dqmBeginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &) override
 
void dqmBeginRun (const edm::Run &r, const edm::EventSetup &) override
 
void dqmEndLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &) override
 
void dqmEndRun (const edm::Run &, const edm::EventSetup &iSetup) override
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

Private Member Functions

void CMS2LHCRF_POS (float x, float y, float z)
 
void fakeRcd ()
 
std::string getDateTime ()
 
std::string getDateTime (long epoch)
 
long getFileSize (std::string filename)
 
time_t getLastTime (std::string filename)
 
std::vector< std::string > parse (std::string line, const std::string &delimiter)
 
void problem ()
 
void publishRcd (std::string qlty, std::string err, bool pubCMS, bool fitTime)
 
bool readRcd (const BeamSpotOnlineObjects &bs)
 
bool readRcd (std::ifstream &file)
 
std::string tkStatus ()
 
void trueRcd ()
 

Private Attributes

std::bitset< 8 > alive
 
edm::ESGetToken< BeamSpotOnlineObjects, BeamSpotOnlineLegacyObjectsRcdbsLegacyToken_
 
float Centroid [3]
 
const int cm2mm = 10
 
const int cm2um = 10000
 
int currentLS = 0
 
edm::InputTag dcsRecordInputTag_
 
edm::EDGetTokenT< DCSRecorddcsRecordToken_
 
DipFactory * dip
 
float dxdz = 0
 
float dydz = 0
 
std::string endTime = getDateTime()
 
time_t endTimeStamp = 0
 
float err_dxdz = 0
 
float err_dydz = 0
 
float err_meanPV = 0
 
float err_rmsPV = 0
 
float err_sigma_z = 0
 
float err_width_x = 0
 
float err_width_y = 0
 
float err_x = 0
 
float err_y = 0
 
float err_z = 0
 
int events = 0
 
const int intLS = 1
 
long lastFitTime = 0
 
int lastlumi = -1
 
long lastModTime = 0
 
int lsCount = 0
 
std::string lumiRange = "0 - 0"
 
int maxPV = 0
 
float meanPV = 0
 
DipData * messageCMS
 
DipData * messageLHC
 
DipData * messagePV
 
int nPV = 0
 
DipPublication * publicationCMS
 
DipPublication * publicationLHC
 
DipPublication * publicationPV
 
const bool publishStatErrors = true
 
const char * qualities [3] = {"Uncertain", "Bad", "Good"}
 
std::string quality = "Uncertain"
 
const int rad2urad = 1000000
 
bool readFromNFS
 
float rmsPV = 0
 
int runnum
 
float sigma_z = 0
 
float Size [3]
 
std::string sourceFile
 
std::string sourceFile1
 
std::string startTime = getDateTime()
 
time_t startTimeStamp = 0
 
std::string subjectCMS
 
std::string subjectLHC
 
std::string subjectPV
 
bool testing
 
float Tilt [2]
 
std::vector< int > timeoutLS
 
int type = -1
 
bool verbose
 
bool wholeTrackerOn = false
 
float width_x = 0
 
float width_y = 0
 
float x = 0
 
float y = 0
 
float z = 0
 

Additional Inherited Members

- Public Types inherited from DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... >
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMOneLumiEDAnalyzer<>
edm::EDPutTokenT< DQMTokenlumiToken_
 
- Protected Attributes inherited from DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... >
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 29 of file BeamSpotDipServer.h.

Constructor & Destructor Documentation

◆ BeamSpotDipServer()

BeamSpotDipServer::BeamSpotDipServer ( const edm::ParameterSet ps)
explicit

Definition at line 34 of file BeamSpotDipServer.cc.

References beamerCreator::create(), dip, edm::ParameterSet::getUntrackedParameter(), BeamSpotDipServer_cff::readFromNFS, sourceFile, sourceFile1, subjectCMS, subjectLHC, subjectPV, testing, timeoutLS, and verbose.

34  {
35  //
36  verbose = ps.getUntrackedParameter<bool>("verbose");
37  testing = ps.getUntrackedParameter<bool>("testing");
38 
39  subjectCMS = ps.getUntrackedParameter<string>("subjectCMS");
40  subjectLHC = ps.getUntrackedParameter<string>("subjectLHC");
41  subjectPV = ps.getUntrackedParameter<string>("subjectPV");
42 
43  readFromNFS = ps.getUntrackedParameter<bool>("readFromNFS");
44  // only if readFromNFS = true
45  sourceFile = ps.getUntrackedParameter<string>("sourceFile"); // beamspot
46  sourceFile1 = ps.getUntrackedParameter<string>("sourceFile1"); // tk status
47 
48  timeoutLS = ps.getUntrackedParameter<vector<int>>("timeoutLS");
49 
50  //
51  bsLegacyToken_ = esConsumes<edm::Transition::EndLuminosityBlock>();
52 
53  dcsRecordInputTag_ = ps.getUntrackedParameter<edm::InputTag>("dcsRecordInputTag");
54  dcsRecordToken_ = consumes<DCSRecord>(dcsRecordInputTag_);
55 
56  //
57  dip = Dip::create("CmsBeamSpotServer");
58 
59  // Use both CMS-based DIM DNS server (https://its.cern.ch/jira/browse/CMSOMS-280)
60  dip->setDNSNode("cmsdimns1.cern.ch,cmsdimns2.cern.ch");
61 
62  edm::LogInfo("BeamSpotDipServer") << "reading from " << (readFromNFS ? "file (NFS)" : "database");
63 }
edm::EDGetTokenT< DCSRecord > dcsRecordToken_
def create(alignables, pedeDump, additionalData, outputFile, config)
std::vector< int > timeoutLS
edm::InputTag dcsRecordInputTag_
T getUntrackedParameter(std::string const &, T const &) const
edm::ESGetToken< BeamSpotOnlineObjects, BeamSpotOnlineLegacyObjectsRcd > bsLegacyToken_
Log< level::Info, false > LogInfo

Member Function Documentation

◆ analyze()

void BeamSpotDipServer::analyze ( const edm::Event e,
const edm::EventSetup  
)
overrideprotectedvirtual

Reimplemented from DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... >.

Definition at line 106 of file BeamSpotDipServer.cc.

References DCSRecord::BPIX, DQMOffline_cff::dcsRecord, DCSRecord::FPIX, iEvent, BeamSpotDipServer_cff::readFromNFS, runnum, DCSRecord::TECm, DCSRecord::TECp, DCSRecord::TIBTID, DCSRecord::TOB, and verbose.

106  {
107  if (!readFromNFS) {
108  // get runnumber
109  runnum = iEvent.run();
110 
111  // get tracker status if in a new lumisection
112  int nthlumi = iEvent.luminosityBlock();
113 
114  if (nthlumi > lastlumi) { // check every LS
115  lastlumi = nthlumi;
116 
118  iEvent.getByToken(dcsRecordToken_, dcsRecord);
119 
121  (*dcsRecord).highVoltageReady(DCSRecord::BPIX) && (*dcsRecord).highVoltageReady(DCSRecord::FPIX) &&
122  (*dcsRecord).highVoltageReady(DCSRecord::TIBTID) && (*dcsRecord).highVoltageReady(DCSRecord::TOB) &&
123  (*dcsRecord).highVoltageReady(DCSRecord::TECp) && (*dcsRecord).highVoltageReady(DCSRecord::TECm);
124 
125  if (verbose)
126  edm::LogInfo("BeamSpotDipServer") << "whole tracker on? " << (wholeTrackerOn ? "yes" : "no");
127  }
128  }
129 }
edm::EDGetTokenT< DCSRecord > dcsRecordToken_
int iEvent
Definition: GenABIO.cc:224
Log< level::Info, false > LogInfo

◆ bookHistograms()

void BeamSpotDipServer::bookHistograms ( DQMStore::IBooker ,
const edm::Run ,
const edm::EventSetup  
)
overrideprotectedvirtual

◆ CMS2LHCRF_POS()

void BeamSpotDipServer::CMS2LHCRF_POS ( float  x,
float  y,
float  z 
)
private

Definition at line 593 of file BeamSpotDipServer.cc.

References Centroid, cm2mm, cm2um, x, y, and z.

593  {
594  if (x != 0) { // Rotation + Translation + Inversion + Scaling
595  double tmpx = x;
596  // x*rotY[0]*rotZ[0] + y*rotY[0]*rotZ[1] - z*rotY[1] + trans[0];
597  Centroid[0] = tmpx;
598  Centroid[0] *= -1.0 * cm2um;
599  } else
600  Centroid[0] = x;
601 
602  if (y != 0) { // Rotation + Translation + Scaling
603  double tmpy = y;
604  // x*(rotX[1]*rotY[1]*rotZ[0] - rotX[0]*rotZ[1]) +
605  // y*(rotX[0]*rotZ[0] + rotX[1]*rotY[1]*rotZ[1]) +
606  // z*rotX[1]*rotY[0] + trans[1];
607  Centroid[1] = tmpy;
608  Centroid[1] *= cm2um;
609  } else
610  Centroid[1] = y;
611 
612  if (z != 0) { // Rotation + Translation + Inversion + Scaling
613  double tmpz = z;
614  // x*(rotX[0]*rotY[1]*rotZ[0] + rotX[1]*rotZ[1]) +
615  // y*(rotX[0]*rotY[1]*rotZ[1] - rotX[1]*rotZ[0]) +
616  // z*rotX[0]*rotY[0] + trans[2];
617  Centroid[2] = tmpz;
618  Centroid[2] *= -1.0 * cm2mm;
619  } else
620  Centroid[2] = z;
621 }

◆ dqmBeginLuminosityBlock()

void BeamSpotDipServer::dqmBeginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup  
)
overrideprotectedvirtual

Reimplemented from DQMOneLumiEDAnalyzer<>.

Definition at line 101 of file BeamSpotDipServer.cc.

101  {
102  // do nothing
103 }

◆ dqmBeginRun()

void BeamSpotDipServer::dqmBeginRun ( const edm::Run r,
const edm::EventSetup  
)
overrideprotectedvirtual

Reimplemented from DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... >.

Definition at line 71 of file BeamSpotDipServer.cc.

References dip, MillePedeFileConverter_cfg::e, cppFunctionSkipper::exception, getDateTime(), messageCMS, messageLHC, messagePV, publicationCMS, publicationLHC, publicationPV, publishRcd(), qualities, quality, subjectCMS, subjectLHC, subjectPV, and trueRcd().

71  {
72  edm::LogInfo("BeamSpotDipServer") << "begin run " << r.run();
73 
74  try {
75  ErrHandler errHandler;
76 
77  edm::LogInfo("BeamSpotDipServer") << "server started at " + getDateTime();
78 
79  edm::LogInfo("BeamSpotDipServer") << "creating publication " + subjectCMS;
80  publicationCMS = dip->createDipPublication(subjectCMS.c_str(), &errHandler);
81  messageCMS = dip->createDipData();
82 
83  edm::LogInfo("BeamSpotDipServer") << "creating publication " + subjectLHC;
84  publicationLHC = dip->createDipPublication(subjectLHC.c_str(), &errHandler);
85  messageLHC = dip->createDipData();
86 
87  edm::LogInfo("BeamSpotDipServer") << "creating publication " + subjectPV;
88  publicationPV = dip->createDipPublication(subjectPV.c_str(), &errHandler);
89  messagePV = dip->createDipData();
90 
91  trueRcd(); // starts with all 0
92  publishRcd("UNINITIALIZED", "", true, false);
93  } catch (exception& e) {
94  edm::LogError("BeamSpotDipServer") << "exception (start up): " << e.what();
95  }
96 
97  quality = qualities[0]; // start with Uncertain
98 }
DipPublication * publicationPV
std::string getDateTime()
Log< level::Error, false > LogError
void publishRcd(std::string qlty, std::string err, bool pubCMS, bool fitTime)
Log< level::Info, false > LogInfo
const char * qualities[3]
DipPublication * publicationCMS
DipPublication * publicationLHC

◆ dqmEndLuminosityBlock()

void BeamSpotDipServer::dqmEndLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMOneLumiEDAnalyzer<>.

Definition at line 132 of file BeamSpotDipServer.cc.

References alive, cms::cuda::bs, MillePedeFileConverter_cfg::e, cppFunctionSkipper::exception, fakeRcd(), getDateTime(), getFileSize(), edm::EventSetup::getHandle(), getLastTime(), lastFitTime, lastModTime, heppy_check::logFile, lsCount, edm::LuminosityBlockBase::luminosityBlock(), problem(), publishRcd(), qualities, quality, BeamSpotDipServer_cff::readFromNFS, readRcd(), runnum, sourceFile, testing, tkStatus(), createJobs::tmp, trueRcd(), and verbose.

132  {
133  edm::LogInfo("BeamSpotDipServer") << "--------------------- end of LS " << lumiSeg.luminosityBlock();
134 
135  try {
136  if (readFromNFS) {
137  ifstream logFile(sourceFile);
138 
139  if (!logFile.good()) {
140  edm::LogWarning("BeamSpotDipServer") << "Source File: " + sourceFile + " doesn't exist!";
141  problem();
142  } else {
144 
145  if (lastFitTime == 0)
147 
148  if (getFileSize(sourceFile) == 0) {
149  // source file has zero length
150  if (lastModTime > lastFitTime) {
151  string tmp = tkStatus();
152  edm::LogInfo("BeamSpotDipServer") << "New run starts. Run number: " << runnum;
153  if (verbose)
154  edm::LogInfo("BeamSpotDipServer") << "Initial lastModTime = " + getDateTime(lastModTime);
155  }
157  }
158 
159  if (lastModTime > lastFitTime) {
160  // source file modified
161  if (verbose) {
162  edm::LogInfo("BeamSpotDipServer") << "time of last fit = " + getDateTime(lastFitTime);
163  edm::LogInfo("BeamSpotDipServer") << "time of current fit = " + getDateTime(lastModTime);
164  }
166 
167  // source file length > 0
168  if (getFileSize(sourceFile) > 0) {
169  if (verbose)
170  edm::LogInfo("BeamSpotDipServer") << "reading record from " + sourceFile;
171 
172  if (readRcd(logFile)) {
173  if (verbose)
174  edm::LogInfo("BeamSpotDipServer") << "got new record from file";
175 
176  trueRcd();
177  alive.reset();
178  alive.flip(7);
179  } else {
180  if (verbose)
181  edm::LogInfo("BeamSpotDipServer") << "problem with new record";
182  fakeRcd();
183  }
184 
185  lsCount = 0;
186  }
187  } else {
188  // source file not touched
189  problem();
190  }
191  }
192 
193  logFile.close();
194  } else {
196  auto const& bs = *bsLegacyHandle;
197 
198  // from database
199  if (readRcd(bs)) {
200  if (verbose)
201  edm::LogInfo("BeamSpotDipServer") << "got new record from database";
202  trueRcd();
203  alive.reset();
204  alive.flip(7);
205  } else {
206  if (verbose)
207  edm::LogInfo("BeamSpotDipServer") << "problem with new record";
208  fakeRcd();
209  }
210 
211  lsCount = 0;
212  }
213 
214  // quality of the publish results
215  if (testing)
216  publishRcd(qualities[0], "Testing", true, true); // Uncertain
217  else if (quality == qualities[1]) // Bad
218  publishRcd(quality, "No fit or fit fails", true, true);
219  else
220  publishRcd(quality, "", true, true); // Good
221  } catch (exception& e) {
222  edm::LogWarning("BeamSpotDipServer") << "io exception (end of lumi): " << e.what();
223  };
224 }
std::string getDateTime()
bool readRcd(const BeamSpotOnlineObjects &bs)
std::bitset< 8 > alive
void publishRcd(std::string qlty, std::string err, bool pubCMS, bool fitTime)
long getFileSize(std::string filename)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
edm::ESGetToken< BeamSpotOnlineObjects, BeamSpotOnlineLegacyObjectsRcd > bsLegacyToken_
Log< level::Info, false > LogInfo
time_t getLastTime(std::string filename)
const char * qualities[3]
Log< level::Warning, false > LogWarning
tmp
align.sh
Definition: createJobs.py:716
LuminosityBlockNumber_t luminosityBlock() const
std::string tkStatus()

◆ dqmEndRun()

void BeamSpotDipServer::dqmEndRun ( const edm::Run ,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMOneEDAnalyzer< edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, Args... >.

Definition at line 227 of file BeamSpotDipServer.cc.

References dip, messageCMS, messageLHC, messagePV, publicationCMS, publicationLHC, publicationPV, subjectCMS, subjectLHC, and subjectPV.

227  {
228  // destroy publications and data
229  edm::LogInfo("BeamSpotDipServer") << "destroying publication " + subjectCMS;
230  dip->destroyDipPublication(publicationCMS);
231  delete messageCMS;
232 
233  edm::LogInfo("BeamSpotDipServer") << "destroying publication " + subjectLHC;
234  dip->destroyDipPublication(publicationLHC);
235  delete messageLHC;
236 
237  edm::LogInfo("BeamSpotDipServer") << "destroying publication " + subjectPV;
238  dip->destroyDipPublication(publicationPV);
239  delete messagePV;
240 }
DipPublication * publicationPV
Log< level::Info, false > LogInfo
DipPublication * publicationCMS
DipPublication * publicationLHC

◆ fakeRcd()

void BeamSpotDipServer::fakeRcd ( )
private

Definition at line 690 of file BeamSpotDipServer.cc.

References Centroid, MillePedeFileConverter_cfg::e, cppFunctionSkipper::exception, messageLHC, Size, and Tilt.

690  {
691  try {
692  Centroid[0] = 0;
693  Centroid[1] = 0;
694  Centroid[2] = 0;
695 
696  Size[0] = 0;
697  Size[1] = 0;
698  Size[2] = 0;
699 
700  Tilt[0] = 0;
701  Tilt[1] = 0;
702 
703  messageLHC->insert(Size, 3, "Size");
704  messageLHC->insert(Centroid, 3, "Centroid");
705  messageLHC->insert(Tilt, 2, "Tilt");
706  } catch (exception& e) {
707  edm::LogWarning("BeamSpotDipServer") << "exception (fakeRcd): " << e.what();
708  }
709 }
Log< level::Warning, false > LogWarning

◆ getDateTime() [1/2]

string BeamSpotDipServer::getDateTime ( )
private

Definition at line 773 of file BeamSpotDipServer.cc.

References getDateTime(), submitPVValidationJobs::t, and hcalRecHitTable_cff::time.

773  {
774  time_t t = time(nullptr);
775 
776  return getDateTime(t);
777 }
std::string getDateTime()

◆ getDateTime() [2/2]

std::string BeamSpotDipServer::getDateTime ( long  epoch)
private

◆ getFileSize()

long BeamSpotDipServer::getFileSize ( std::string  filename)
private

Definition at line 243 of file BeamSpotDipServer.cc.

References corrVsCorr::filename, and edm_modernize_messagelogger::stat.

243  {
244  struct stat stat_buf;
245  int rc = stat(filename.c_str(), &stat_buf);
246  return (rc == 0 ? stat_buf.st_size : -1);
247 }

◆ getLastTime()

time_t BeamSpotDipServer::getLastTime ( std::string  filename)
private

Definition at line 250 of file BeamSpotDipServer.cc.

References corrVsCorr::filename, and edm_modernize_messagelogger::stat.

250  {
251  struct stat stat_buf;
252  int rc = stat(filename.c_str(), &stat_buf);
253  return (rc == 0 ? stat_buf.st_mtime : -1);
254 }

◆ parse()

vector< string > BeamSpotDipServer::parse ( std::string  line,
const std::string &  delimiter 
)
private

Definition at line 257 of file BeamSpotDipServer.cc.

References makeHLTPrescaleTable::delimiter, mps_splice::line, and unpackBuffers-CaloStage2::token.

257  {
258  vector<string> list;
259 
260  size_t pos = 0;
261  while ((pos = line.find(delimiter)) != string::npos) {
262  string token = line.substr(0, pos);
263 
264  list.push_back(token);
265 
266  line.erase(0, pos + delimiter.length());
267  }
268 
269  list.push_back(line); // remainder
270 
271  return list;
272 }

◆ problem()

void BeamSpotDipServer::problem ( )
private

Definition at line 327 of file BeamSpotDipServer.cc.

References alive, fakeRcd(), lsCount, publishRcd(), timeoutLS, tkStatus(), trueRcd(), and verbose.

327  {
328  if (verbose)
329  edm::LogInfo("BeamSpotDipServer") << "no update | alive = " << alive;
330 
331  lsCount++;
332 
333  if ((lsCount % timeoutLS[0] == 0) && (lsCount % timeoutLS[1] != 0)) // first time out
334  {
335  if (!alive.test(1))
336  alive.flip(1);
337  if (!alive.test(2)) {
338  if (!alive.test(7))
339  fakeRcd();
340  else
341  trueRcd();
342 
343  stringstream warnMsg;
344  warnMsg << "No new data for " << lsCount << " LS";
345  publishRcd("Uncertain", warnMsg.str(), false, false);
346  } else {
347  fakeRcd();
348 
349  stringstream warnMsg;
350  warnMsg << "No new data for " << lsCount << " LS: " << tkStatus();
351  publishRcd("Bad", warnMsg.str(), false, false);
352  }
353  } else if (lsCount % timeoutLS[1] == 0) // second time out
354  {
355  if (!alive.test(2))
356  alive.flip(2);
357  fakeRcd();
358 
359  stringstream warnMsg;
360  warnMsg << "No new data for " << lsCount << " LS: " << tkStatus();
361  publishRcd("Bad", warnMsg.str(), false, false);
362  }
363 }
std::vector< int > timeoutLS
std::bitset< 8 > alive
void publishRcd(std::string qlty, std::string err, bool pubCMS, bool fitTime)
Log< level::Info, false > LogInfo
std::string tkStatus()

◆ publishRcd()

void BeamSpotDipServer::publishRcd ( std::string  qlty,
std::string  err,
bool  pubCMS,
bool  fitTime 
)
private

Definition at line 712 of file BeamSpotDipServer.cc.

References alive, currentLS, MillePedeFileConverter_cfg::e, endTimeStamp, submitPVResolutionJobs::err, cppFunctionSkipper::exception, intLS, messageCMS, messageLHC, messagePV, publicationCMS, publicationLHC, publicationPV, qualities, and verbose.

712  {
713  try {
714  bool updateCMS = pubCMS && (currentLS % intLS == 0);
715 
716  if (verbose) {
717  edm::LogInfo("BeamSpotDipServer") << "sending (" << qlty << " | " << err << ")";
718 
719  if (alive.test(7)) {
720  if (updateCMS)
721  edm::LogInfo("BeamSpotDipServer") << " to CCC and CMS";
722  else if (!alive.test(1) && !alive.test(2))
723  edm::LogInfo("BeamSpotDipServer") << " to CCC only";
724  }
725  }
726 
727  DipTimestamp zeit;
728  if (fitTime) {
729  long epoch;
730  epoch = endTimeStamp * 1000; // convert to ms
731  zeit = DipTimestamp(epoch);
732  } else
733  zeit = DipTimestamp();
734 
735  // send
736  if (updateCMS)
737  publicationCMS->send(*messageCMS, zeit);
738 
739  publicationLHC->send(*messageLHC, zeit);
740  publicationPV->send(*messagePV, zeit);
741 
742  // set qualities
743  if (qlty == qualities[0]) { // Uncertain
744  if (updateCMS)
745  publicationCMS->setQualityUncertain(err.c_str());
746 
747  publicationLHC->setQualityUncertain(err.c_str());
748  } else if (qlty == qualities[1]) { // Bad
749  if (updateCMS)
750  publicationCMS->setQualityBad(err.c_str());
751 
752  publicationLHC->setQualityBad(err.c_str());
753  } else if (qlty == "UNINITIALIZED") {
754  if (updateCMS)
755  publicationCMS->setQualityBad("UNINITIALIZED");
756 
757  publicationLHC->setQualityBad("UNINITIALIZED");
758  }
759  } catch (exception& e) {
760  edm::LogWarning("BeamSpotDipServer") << "exception (publishRcd): " << e.what();
761  }
762 }
DipPublication * publicationPV
std::bitset< 8 > alive
Log< level::Info, false > LogInfo
const char * qualities[3]
DipPublication * publicationCMS
Log< level::Warning, false > LogWarning
DipPublication * publicationLHC

◆ readRcd() [1/2]

bool BeamSpotDipServer::readRcd ( const BeamSpotOnlineObjects bs)
private

Definition at line 366 of file BeamSpotDipServer.cc.

References cms::cuda::bs, currentLS, dxdz, dydz, MillePedeFileConverter_cfg::e, beamSpotPI::endTime, endTimeStamp, err_dxdz, err_dydz, err_meanPV, err_rmsPV, err_sigma_z, err_width_x, err_width_y, err_x, err_y, err_z, events, cppFunctionSkipper::exception, beamSpotPI::lumiRange, maxPV, meanPV, nPV, qualities, quality, rmsPV, runnum, sigma_z, beamSpotPI::startTime, startTimeStamp, testing, to_string(), verbose, width_x, width_y, x, y, and z.

368 {
369  runnum = bs.lastAnalyzedRun();
370 
371  // get from BeamSpotOnlineObject
372 
373  try {
374  startTime = bs.startTime();
375  startTimeStamp = bs.startTimeStamp();
376  endTime = bs.endTime();
377  endTimeStamp = bs.endTimeStamp();
378  } catch (exception& e) {
379  edm::LogWarning("BeamSpotDipServer") << "time variables are not available (readRcd): " << e.what();
380 
381  startTime = bs.creationTime();
382  startTimeStamp = bs.creationTime();
383  endTime = bs.creationTime();
384  endTimeStamp = bs.creationTime();
385  }
386 
387  try {
388  lumiRange = bs.lumiRange();
389  } catch (exception& e) {
390  edm::LogWarning("BeamSpotDipServer") << "lumirange variable not avaialble (readRcd): " << e.what();
391 
392  lumiRange = to_string(bs.lastAnalyzedLumi());
393  }
394 
395  currentLS = bs.lastAnalyzedLumi();
396 
397  type = bs.beamType();
398 
399  if (verbose)
400  edm::LogInfo("BeamSpotDipServer") << "run: " << runnum << ", LS: " << currentLS << ", time: " << startTime << " "
401  << startTimeStamp << ", type: " << type;
402 
403  if (testing)
404  quality = qualities[0]; // Uncertain
405  else if (type >= 2)
406  quality = qualities[2]; // Good
407  else
408  quality = qualities[1]; // Bad
409 
410  x = bs.x();
411  y = bs.y();
412  z = bs.z();
413 
414  sigma_z = bs.sigmaZ();
415  dxdz = bs.dxdz();
416  dydz = bs.dydz();
417  width_x = bs.beamWidthX();
418  width_y = bs.beamWidthX();
419 
420  err_x = bs.xError();
421  err_y = bs.yError();
422  err_z = bs.zError();
423  err_sigma_z = bs.sigmaZError();
424  err_dxdz = bs.dxdzError();
425  err_dydz = bs.dydzError();
426  err_width_x = bs.beamWidthXError();
427  err_width_y = bs.beamWidthYError();
428 
429  try {
430  events = bs.usedEvents();
431  meanPV = bs.meanPV();
432  err_meanPV = bs.meanErrorPV();
433  rmsPV = bs.rmsPV();
434  err_rmsPV = bs.rmsErrorPV();
435  maxPV = bs.maxPVs();
436  } catch (exception& e) {
437  edm::LogWarning("BeamSpotDipServer") << "PV variables are not available (readRcd): " << e.what();
438 
439  events = 0.;
440  meanPV = 0.;
441  err_meanPV = 0.;
442  rmsPV = 0.;
443  err_rmsPV = 0.;
444  maxPV = 0.;
445  }
446 
447  nPV = bs.numPVs();
448 
449  if (verbose)
450  edm::LogInfo("BeamSpotDipServer") << "pos: (" << x << "," << y << "," << z << ")"
451  << " nPV: " << nPV;
452 
453  return true;
454 }
static std::string to_string(const XMLCh *ch)
Log< level::Info, false > LogInfo
const char * qualities[3]
Log< level::Warning, false > LogWarning

◆ readRcd() [2/2]

bool BeamSpotDipServer::readRcd ( std::ifstream &  file)
private

◆ tkStatus()

string BeamSpotDipServer::tkStatus ( )
private

Definition at line 275 of file BeamSpotDipServer.cc.

References MillePedeFileConverter_cfg::e, cppFunctionSkipper::exception, spr::find(), getFileSize(), dqmPostProcessing_online::logfile, parse(), BeamSpotDipServer_cff::readFromNFS, AlCaHarvesting_cff::record, runnum, sourceFile1, and createJobs::tmp.

275  {
276  string outstr;
277 
278  if (readFromNFS) { // get from file on /nfs
279  ifstream logfile(sourceFile1);
280 
281  if (!logfile.good() || getFileSize(sourceFile1) == 0) {
282  // file does not exist or has zero size
283  outstr = "No CMS Tracker status available. No DAQ/DQM.";
284  } else {
285  int nthLnInRcd = 0;
286  string record;
287 
288  try {
289  string record;
290 
291  while (getline(logfile, record)) {
292  nthLnInRcd++;
293  vector<string> tmp = parse(record, " ");
294 
295  switch (nthLnInRcd) {
296  case 7:
297  if (tmp[1].find("Yes") == string::npos)
298  outstr = "CMS Tracker OFF.";
299  else
300  outstr = "CMS not taking data or no beam.";
301  break;
302  case 8:
303  runnum = stoi(tmp[1]);
304  break;
305  default:
306  break;
307  }
308  }
309  } catch (exception& e) {
310  edm::LogWarning("BeamSpotDipServer") << "exception (tkStatus): " << e.what();
311  }
312  }
313 
314  logfile.close();
315  } else {
316  // get from DCS
317  if (wholeTrackerOn)
318  outstr = "CMS not taking data or no beam.";
319  else
320  outstr = "CMS Tracker OFF.";
321  }
322 
323  return outstr;
324 }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
long getFileSize(std::string filename)
std::vector< std::string > parse(std::string line, const std::string &delimiter)
Log< level::Warning, false > LogWarning
tmp
align.sh
Definition: createJobs.py:716

◆ trueRcd()

void BeamSpotDipServer::trueRcd ( )
private

Definition at line 624 of file BeamSpotDipServer.cc.

References Centroid, cm2mm, cm2um, CMS2LHCRF_POS(), dxdz, dydz, MillePedeFileConverter_cfg::e, beamSpotPI::endTime, endTimeStamp, err_dxdz, err_dydz, err_meanPV, err_rmsPV, err_sigma_z, err_width_x, err_width_y, err_x, err_y, err_z, events, cppFunctionSkipper::exception, beamSpotPI::lumiRange, maxPV, meanPV, messageCMS, messageLHC, messagePV, nPV, publishStatErrors, quality, rad2urad, rmsPV, runnum, sigma_z, Size, beamSpotPI::startTime, startTimeStamp, Tilt, width_x, width_y, x, y, and z.

624  {
625  try {
626  // CMS to LHC RF
627  CMS2LHCRF_POS(x, y, z);
628 
629  Tilt[0] = dxdz * rad2urad;
630  Tilt[1] = (dydz != 0 ? (dydz * -1 * rad2urad) : 0);
631 
632  Size[0] = width_x * cm2um;
633  Size[1] = width_y * cm2um;
634  Size[2] = sigma_z * cm2mm;
635 
636  // CMS
637  messageCMS->insert(runnum, "runnum");
638  messageCMS->insert(startTime, "startTime");
639  messageCMS->insert(endTime, "endTime");
640  messageCMS->insert(startTimeStamp, "startTimeStamp");
641  messageCMS->insert(endTimeStamp, "endTimeStamp");
642  messageCMS->insert(lumiRange, "lumiRange");
643  messageCMS->insert(quality, "quality");
644  messageCMS->insert(type, "type"); // Unknown=-1, Fake=0, Tracker=2(Good)
645  messageCMS->insert(x, "x");
646  messageCMS->insert(y, "y");
647  messageCMS->insert(z, "z");
648  messageCMS->insert(dxdz, "dxdz");
649  messageCMS->insert(dydz, "dydz");
650  messageCMS->insert(width_x, "width_x");
651  messageCMS->insert(width_y, "width_y");
652  messageCMS->insert(sigma_z, "sigma_z");
653 
654  if (publishStatErrors) {
655  messageCMS->insert(err_x, "err_x");
656  messageCMS->insert(err_y, "err_y");
657  messageCMS->insert(err_z, "err_z");
658  messageCMS->insert(err_dxdz, "err_dxdz");
659  messageCMS->insert(err_dydz, "err_dydz");
660  messageCMS->insert(err_width_x, "err_width_x");
661  messageCMS->insert(err_width_y, "err_width_y");
662  messageCMS->insert(err_sigma_z, "err_sigma_z");
663  }
664 
665  // LHC
666  messageLHC->insert(Size, 3, "Size");
667  messageLHC->insert(Centroid, 3, "Centroid");
668  messageLHC->insert(Tilt, 2, "Tilt");
669 
670  // PV
671  messagePV->insert(runnum, "runnum");
672  messagePV->insert(startTime, "startTime");
673  messagePV->insert(endTime, "endTime");
674  messagePV->insert(startTimeStamp, "startTimeStamp");
675  messagePV->insert(endTimeStamp, "endTimeStamp");
676  messagePV->insert(lumiRange, "lumiRange");
677  messagePV->insert(events, "events");
678  messagePV->insert(meanPV, "meanPV");
679  messagePV->insert(err_meanPV, "err_meanPV");
680  messagePV->insert(rmsPV, "rmsPV");
681  messagePV->insert(err_rmsPV, "err_rmsPV");
682  messagePV->insert(maxPV, "maxPV");
683  messagePV->insert(nPV, "nPV");
684  } catch (exception& e) {
685  edm::LogWarning("BeamSpotDipServer") << "exception (trueRcd): " << e.what();
686  }
687 }
void CMS2LHCRF_POS(float x, float y, float z)
const bool publishStatErrors
Log< level::Warning, false > LogWarning

Member Data Documentation

◆ alive

std::bitset<8> BeamSpotDipServer::alive
private

Definition at line 72 of file BeamSpotDipServer.h.

◆ bsLegacyToken_

edm::ESGetToken<BeamSpotOnlineObjects, BeamSpotOnlineLegacyObjectsRcd> BeamSpotDipServer::bsLegacyToken_
private

Definition at line 133 of file BeamSpotDipServer.h.

◆ Centroid

float BeamSpotDipServer::Centroid[3]
private

Definition at line 122 of file BeamSpotDipServer.h.

◆ cm2mm

const int BeamSpotDipServer::cm2mm = 10
private

Definition at line 66 of file BeamSpotDipServer.h.

◆ cm2um

const int BeamSpotDipServer::cm2um = 10000
private

Definition at line 65 of file BeamSpotDipServer.h.

◆ currentLS

int BeamSpotDipServer::currentLS = 0
private

Definition at line 74 of file BeamSpotDipServer.h.

◆ dcsRecordInputTag_

edm::InputTag BeamSpotDipServer::dcsRecordInputTag_
private

Definition at line 126 of file BeamSpotDipServer.h.

◆ dcsRecordToken_

edm::EDGetTokenT<DCSRecord> BeamSpotDipServer::dcsRecordToken_
private

Definition at line 127 of file BeamSpotDipServer.h.

◆ dip

DipFactory* BeamSpotDipServer::dip
private

Definition at line 77 of file BeamSpotDipServer.h.

◆ dxdz

float BeamSpotDipServer::dxdz = 0
private

Definition at line 97 of file BeamSpotDipServer.h.

Referenced by BeamSpotObj.BeamSpot::Reset().

◆ dydz

float BeamSpotDipServer::dydz = 0
private

Definition at line 98 of file BeamSpotDipServer.h.

Referenced by BeamSpotObj.BeamSpot::Reset().

◆ endTime

std::string BeamSpotDipServer::endTime = getDateTime()
private

Definition at line 88 of file BeamSpotDipServer.h.

◆ endTimeStamp

time_t BeamSpotDipServer::endTimeStamp = 0
private

Definition at line 90 of file BeamSpotDipServer.h.

◆ err_dxdz

float BeamSpotDipServer::err_dxdz = 0
private

Definition at line 102 of file BeamSpotDipServer.h.

◆ err_dydz

float BeamSpotDipServer::err_dydz = 0
private

Definition at line 103 of file BeamSpotDipServer.h.

◆ err_meanPV

float BeamSpotDipServer::err_meanPV = 0
private

Definition at line 114 of file BeamSpotDipServer.h.

◆ err_rmsPV

float BeamSpotDipServer::err_rmsPV = 0
private

Definition at line 116 of file BeamSpotDipServer.h.

◆ err_sigma_z

float BeamSpotDipServer::err_sigma_z = 0
private

Definition at line 109 of file BeamSpotDipServer.h.

◆ err_width_x

float BeamSpotDipServer::err_width_x = 0
private

Definition at line 107 of file BeamSpotDipServer.h.

◆ err_width_y

float BeamSpotDipServer::err_width_y = 0
private

Definition at line 108 of file BeamSpotDipServer.h.

◆ err_x

float BeamSpotDipServer::err_x = 0
private

Definition at line 99 of file BeamSpotDipServer.h.

◆ err_y

float BeamSpotDipServer::err_y = 0
private

Definition at line 100 of file BeamSpotDipServer.h.

◆ err_z

float BeamSpotDipServer::err_z = 0
private

Definition at line 101 of file BeamSpotDipServer.h.

◆ events

int BeamSpotDipServer::events = 0
private

◆ intLS

const int BeamSpotDipServer::intLS = 1
private

Definition at line 67 of file BeamSpotDipServer.h.

◆ lastFitTime

long BeamSpotDipServer::lastFitTime = 0
private

Definition at line 70 of file BeamSpotDipServer.h.

◆ lastlumi

int BeamSpotDipServer::lastlumi = -1
private

Definition at line 129 of file BeamSpotDipServer.h.

◆ lastModTime

long BeamSpotDipServer::lastModTime = 0
private

Definition at line 71 of file BeamSpotDipServer.h.

◆ lsCount

int BeamSpotDipServer::lsCount = 0
private

Definition at line 73 of file BeamSpotDipServer.h.

◆ lumiRange

std::string BeamSpotDipServer::lumiRange = "0 - 0"
private

Definition at line 91 of file BeamSpotDipServer.h.

◆ maxPV

int BeamSpotDipServer::maxPV = 0
private

Definition at line 117 of file BeamSpotDipServer.h.

◆ meanPV

float BeamSpotDipServer::meanPV = 0
private

Definition at line 113 of file BeamSpotDipServer.h.

◆ messageCMS

DipData* BeamSpotDipServer::messageCMS
private

Definition at line 78 of file BeamSpotDipServer.h.

◆ messageLHC

DipData* BeamSpotDipServer::messageLHC
private

Definition at line 79 of file BeamSpotDipServer.h.

◆ messagePV

DipData* BeamSpotDipServer::messagePV
private

Definition at line 80 of file BeamSpotDipServer.h.

◆ nPV

int BeamSpotDipServer::nPV = 0
private

Definition at line 118 of file BeamSpotDipServer.h.

◆ publicationCMS

DipPublication* BeamSpotDipServer::publicationCMS
private

Definition at line 81 of file BeamSpotDipServer.h.

◆ publicationLHC

DipPublication* BeamSpotDipServer::publicationLHC
private

Definition at line 82 of file BeamSpotDipServer.h.

◆ publicationPV

DipPublication* BeamSpotDipServer::publicationPV
private

Definition at line 83 of file BeamSpotDipServer.h.

◆ publishStatErrors

const bool BeamSpotDipServer::publishStatErrors = true
private

Definition at line 63 of file BeamSpotDipServer.h.

◆ qualities

const char* BeamSpotDipServer::qualities[3] = {"Uncertain", "Bad", "Good"}
private

Definition at line 62 of file BeamSpotDipServer.h.

◆ quality

std::string BeamSpotDipServer::quality = "Uncertain"
private

Definition at line 92 of file BeamSpotDipServer.h.

◆ rad2urad

const int BeamSpotDipServer::rad2urad = 1000000
private

Definition at line 64 of file BeamSpotDipServer.h.

◆ readFromNFS

bool BeamSpotDipServer::readFromNFS
private

Definition at line 143 of file BeamSpotDipServer.h.

◆ rmsPV

float BeamSpotDipServer::rmsPV = 0
private

Definition at line 115 of file BeamSpotDipServer.h.

◆ runnum

int BeamSpotDipServer::runnum
private

Definition at line 86 of file BeamSpotDipServer.h.

◆ sigma_z

float BeamSpotDipServer::sigma_z = 0
private

Definition at line 106 of file BeamSpotDipServer.h.

◆ Size

float BeamSpotDipServer::Size[3]
private

Definition at line 121 of file BeamSpotDipServer.h.

◆ sourceFile

std::string BeamSpotDipServer::sourceFile
private

Definition at line 145 of file BeamSpotDipServer.h.

◆ sourceFile1

std::string BeamSpotDipServer::sourceFile1
private

Definition at line 146 of file BeamSpotDipServer.h.

◆ startTime

std::string BeamSpotDipServer::startTime = getDateTime()
private

Definition at line 87 of file BeamSpotDipServer.h.

◆ startTimeStamp

time_t BeamSpotDipServer::startTimeStamp = 0
private

Definition at line 89 of file BeamSpotDipServer.h.

◆ subjectCMS

std::string BeamSpotDipServer::subjectCMS
private

Definition at line 139 of file BeamSpotDipServer.h.

◆ subjectLHC

std::string BeamSpotDipServer::subjectLHC
private

Definition at line 140 of file BeamSpotDipServer.h.

◆ subjectPV

std::string BeamSpotDipServer::subjectPV
private

Definition at line 141 of file BeamSpotDipServer.h.

◆ testing

bool BeamSpotDipServer::testing
private

Definition at line 137 of file BeamSpotDipServer.h.

◆ Tilt

float BeamSpotDipServer::Tilt[2]
private

Definition at line 123 of file BeamSpotDipServer.h.

◆ timeoutLS

std::vector<int> BeamSpotDipServer::timeoutLS
private

Definition at line 148 of file BeamSpotDipServer.h.

◆ type

int BeamSpotDipServer::type = -1
private

◆ verbose

bool BeamSpotDipServer::verbose
private

◆ wholeTrackerOn

bool BeamSpotDipServer::wholeTrackerOn = false
private

Definition at line 130 of file BeamSpotDipServer.h.

◆ width_x

float BeamSpotDipServer::width_x = 0
private

Definition at line 104 of file BeamSpotDipServer.h.

◆ width_y

float BeamSpotDipServer::width_y = 0
private

Definition at line 105 of file BeamSpotDipServer.h.

◆ x

float BeamSpotDipServer::x = 0
private

◆ y

float BeamSpotDipServer::y = 0
private

◆ z

float BeamSpotDipServer::z = 0
private