CMS 3D CMS Logo

WriteCTPPSPixelAnalysisMask.cc
Go to the documentation of this file.
1 /****************************************************************************
2 *
3 * Offline analyzer for writing CTPPS Analysis Mask sqlite file
4 * H. Malbouisson
5 * based on TOTEM code from Jan Kašpar (jan.kaspar@gmail.com)
6 *
7 ****************************************************************************/
8 
16 
19 
22 
27 
28 #include <cstdint>
29 
30 //----------------------------------------------------------------------------------------------------
31 
36 public:
39 
40 private:
41  void analyze(const edm::Event &e, const edm::EventSetup &es) override;
45 };
46 
47 using namespace std;
48 using namespace edm;
49 
50 //----------------------------------------------------------------------------------------------------
51 
53  : analysismaskiov_(ps.getParameter<unsigned long long>("analysismaskiov")),
54  record_(ps.getParameter<string>("record")),
55  label_(ps.getParameter<string>("label")) {}
56 
58  // get analysis mask to mask channels
60  es.get<CTPPSPixelAnalysisMaskRcd>().get(label_, analysisMask);
61 
62  /*// print analysisMask
63  printf("* mask\n");
64  for (const auto &p : analysisMask->analysisMask)
65  cout << " " << p.first
66  << ": fullMask=" << p.second.fullMask
67  << ", number of masked channels " << p.second.maskedPixels.size() << endl;
68  */
69 
70  // Write Analysis Mask to sqlite file:
71  const CTPPSPixelAnalysisMask *pCTPPSPixelAnalysisMask = analysisMask.product(); // Analysis Mask
73  if (poolDbService.isAvailable()) {
74  poolDbService->writeOne(pCTPPSPixelAnalysisMask, analysismaskiov_, /*m_record*/ record_);
75  }
76 }
77 
78 //----------------------------------------------------------------------------------------------------
79 
void analyze(const edm::Event &e, const edm::EventSetup &es) override
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
unsigned long long Time_t
Definition: Time.h:14
bool isAvailable() const
Definition: Service.h:40
Channel-mask mapping.
void writeOne(T *payload, Time_t time, const std::string &recordName, bool withlogging=false)
WriteCTPPSPixelAnalysisMask(const edm::ParameterSet &ps)
Prints the Analysis Mask loaded by TotemDAQMappingESSourceXML.
HLT enums.
T get() const
Definition: EventSetup.h:73
T const * product() const
Definition: ESHandle.h:86