CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
edmtest::AlignPCLThresholdsReader Class Reference
Inheritance diagram for edmtest::AlignPCLThresholdsReader:
edm::one::EDAnalyzer<> edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 AlignPCLThresholdsReader (edm::ParameterSet const &p)
 
 ~AlignPCLThresholdsReader () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () 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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > 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::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 

Private Attributes

const std::string formatedOutput_
 
const bool printdebug_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 13 of file AlignPCLThresholdsReader.cc.

Constructor & Destructor Documentation

◆ AlignPCLThresholdsReader()

edmtest::AlignPCLThresholdsReader::AlignPCLThresholdsReader ( edm::ParameterSet const &  p)
explicit

Definition at line 28 of file AlignPCLThresholdsReader.cc.

29  : printdebug_(p.getUntrackedParameter<bool>("printDebug", true)),
30  formatedOutput_(p.getUntrackedParameter<std::string>("outputFile", "")) {
31  edm::LogInfo("AlignPCLThresholdsReader") << "AlignPCLThresholdsReader" << std::endl;
32  }

◆ ~AlignPCLThresholdsReader()

edmtest::AlignPCLThresholdsReader::~AlignPCLThresholdsReader ( )
override

Definition at line 34 of file AlignPCLThresholdsReader.cc.

34  {
35  edm::LogInfo("AlignPCLThresholdsReader") << "~AlignPCLThresholdsReader " << std::endl;
36  }

Member Function Documentation

◆ analyze()

void edmtest::AlignPCLThresholdsReader::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 38 of file AlignPCLThresholdsReader.cc.

38  {
39  edm::LogInfo("AlignPCLThresholdsReader") << "### AlignPCLThresholdsReader::analyze ###" << std::endl;
40  edm::LogInfo("AlignPCLThresholdsReader") << " I AM IN RUN NUMBER " << e.id().run() << std::endl;
41  edm::LogInfo("AlignPCLThresholdsReader") << " ---EVENT NUMBER " << e.id().event() << std::endl;
42 
45 
46  if (recordKey.type() == edm::eventsetup::EventSetupRecordKey::TypeTag()) {
47  //record not found
48  edm::LogInfo("AlignPCLThresholdsReader") << "Record \"AlignPCLThresholdsRcd"
49  << "\" does not exist " << std::endl;
50  }
51 
52  //this part gets the handle of the event source and the record (i.e. the Database)
53  edm::ESHandle<AlignPCLThresholds> thresholdHandle;
54  edm::LogInfo("AlignPCLThresholdsReader") << "got eshandle" << std::endl;
55 
56  context.get<AlignPCLThresholdsRcd>().get(thresholdHandle);
57  edm::LogInfo("AlignPCLThresholdsReader") << "got context" << std::endl;
58 
59  const AlignPCLThresholds* thresholds = thresholdHandle.product();
60  edm::LogInfo("AlignPCLThresholdsReader") << "got AlignPCLThresholds* " << std::endl;
61  edm::LogInfo("AlignPCLThresholdsReader") << "print pointer address : ";
62  edm::LogInfo("AlignPCLThresholdsReader") << thresholds << std::endl;
63 
64  edm::LogInfo("AlignPCLThresholdsReader") << "Size " << thresholds->size() << std::endl;
65  edm::LogInfo("AlignPCLThresholdsReader") << "Content of myThresholds " << std::endl;
66  // use built-in method in the CondFormat to print the content
67  if (printdebug_) {
68  thresholds->printAll();
69  }
70 
71  FILE* pFile = nullptr;
72  if (!formatedOutput_.empty())
73  pFile = fopen(formatedOutput_.c_str(), "w");
74  if (pFile) {
75  fprintf(pFile, "AlignPCLThresholds::printAll() \n");
76  fprintf(pFile,
77  " ======================================================================================================="
78  "============ \n");
79  fprintf(pFile, "N records cut: %i \n", thresholds->getNrecords());
80 
81  AlignPCLThresholds::threshold_map m_thresholds = thresholds->getThreshold_Map();
82 
83  for (auto it = m_thresholds.begin(); it != m_thresholds.end(); ++it) {
84  fprintf(pFile,
85  " ====================================================================================================="
86  "============== \n");
87  fprintf(pFile, "key : %s \n ", (it->first).c_str());
88  fprintf(pFile, "- Xcut : %8.3f um ", (it->second).getXcut());
89  fprintf(pFile, "| sigXcut : %8.3f ", (it->second).getSigXcut());
90  fprintf(pFile, "| maxMoveXcut : %8.3f um ", (it->second).getMaxMoveXcut());
91  fprintf(pFile, "| ErrorXcut : %8.3f um\n ", (it->second).getErrorXcut());
92 
93  fprintf(pFile, "- thetaXcut : %8.3f urad ", (it->second).getThetaXcut());
94  fprintf(pFile, "| sigThetaXcut : %8.3f ", (it->second).getSigThetaXcut());
95  fprintf(pFile, "| maxMoveThetaXcut : %8.3f urad ", (it->second).getMaxMoveThetaXcut());
96  fprintf(pFile, "| ErrorThetaXcut : %8.3f urad\n ", (it->second).getErrorThetaXcut());
97 
98  fprintf(pFile, "- Ycut : %8.3f um ", (it->second).getYcut());
99  fprintf(pFile, "| sigYcut : %8.3f ", (it->second).getSigXcut());
100  fprintf(pFile, "| maxMoveYcut : %8.3f um ", (it->second).getMaxMoveYcut());
101  fprintf(pFile, "| ErrorYcut : %8.3f um\n ", (it->second).getErrorYcut());
102 
103  fprintf(pFile, "- thetaYcut : %8.3f urad ", (it->second).getThetaYcut());
104  fprintf(pFile, "| sigThetaYcut : %8.3f ", (it->second).getSigThetaYcut());
105  fprintf(pFile, "| maxMoveThetaYcut : %8.3f urad ", (it->second).getMaxMoveThetaYcut());
106  fprintf(pFile, "| ErrorThetaYcut : %8.3f urad\n ", (it->second).getErrorThetaYcut());
107 
108  fprintf(pFile, "- Zcut : %8.3f um ", (it->second).getZcut());
109  fprintf(pFile, "| sigZcut : %8.3f ", (it->second).getSigZcut());
110  fprintf(pFile, "| maxMoveZcut : %8.3f um ", (it->second).getMaxMoveZcut());
111  fprintf(pFile, "| ErrorZcut : %8.3f um\n ", (it->second).getErrorZcut());
112 
113  fprintf(pFile, "- thetaZcut : %8.3f urad ", (it->second).getThetaZcut());
114  fprintf(pFile, "| sigThetaZcut : %8.3f ", (it->second).getSigThetaZcut());
115  fprintf(pFile, "| maxMoveThetaZcut : %8.3f urad ", (it->second).getMaxMoveThetaZcut());
116  fprintf(pFile, "| ErrorThetaZcut : %8.3f urad\n ", (it->second).getErrorThetaZcut());
117 
118  if ((it->second).hasExtraDOF()) {
119  for (unsigned int j = 0; j < (it->second).extraDOFSize(); j++) {
120  std::array<float, 4> extraDOFCuts = thresholds->getExtraDOFCutsForAlignable(it->first, j);
121  fprintf(pFile,
122  "Extra DOF: %i with label %s \n ",
123  j,
124  thresholds->getExtraDOFLabelForAlignable(it->first, j).c_str());
125  fprintf(pFile, "- cut : %8.3f ", extraDOFCuts.at(0));
126  fprintf(pFile, "| sigCut : %8.3f ", extraDOFCuts.at(1));
127  fprintf(pFile, "| maxMoveCut : %8.3f ", extraDOFCuts.at(2));
128  fprintf(pFile, "| maxErrorCut : %8.3f \n ", extraDOFCuts.at(3));
129  }
130  }
131  }
132  }
133  }

References MillePedeFileConverter_cfg::e, edm::eventsetup::heterocontainer::HCTypeTag::findType(), formatedOutput_, edm::EventSetup::get(), get, dqmiolumiharvest::j, printdebug_, edm::ESHandle< T >::product(), particleFlowZeroSuppressionECAL_cff::thresholds, and edm::eventsetup::EventSetupRecordKey::type().

◆ fillDescriptions()

void edmtest::AlignPCLThresholdsReader::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 135 of file AlignPCLThresholdsReader.cc.

135  {
137  desc.setComment("Reads payloads of type AlignPCLThresholds");
138  desc.addUntracked<bool>("printDebug", true);
139  desc.addUntracked<std::string>("outputFile", "");
140  descriptions.add("AlignPCLThresholdsReader", desc);
141  }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, and AlCaHLTBitMon_QueryRunRegistry::string.

Member Data Documentation

◆ formatedOutput_

const std::string edmtest::AlignPCLThresholdsReader::formatedOutput_
private

Definition at line 25 of file AlignPCLThresholdsReader.cc.

Referenced by analyze().

◆ printdebug_

const bool edmtest::AlignPCLThresholdsReader::printdebug_
private

Definition at line 24 of file AlignPCLThresholdsReader.cc.

Referenced by analyze().

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
edm::eventsetup::heterocontainer::HCTypeTag::findType
static HCTypeTag findType(char const *iTypeName)
find a type based on the types name, if not found will return default HCTypeTag
Definition: HCTypeTag.cc:121
particleFlowZeroSuppressionECAL_cff.thresholds
thresholds
Definition: particleFlowZeroSuppressionECAL_cff.py:31
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
AlignPCLThresholds
Definition: AlignPCLThresholds.h:11
AlignPCLThresholdsRcd
Definition: AlignPCLThresholdsRcd.h:23
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
edm::eventsetup::EventSetupRecordKey
Definition: EventSetupRecordKey.h:30
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
edm::ESHandle
Definition: DTSurvey.h:22
edm::eventsetup::EventSetupRecordKey::TypeTag
heterocontainer::HCTypeTag TypeTag
Definition: EventSetupRecordKey.h:32
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edmtest::AlignPCLThresholdsReader::formatedOutput_
const std::string formatedOutput_
Definition: AlignPCLThresholdsReader.cc:25
get
#define get
AlignPCLThresholds::threshold_map
std::map< std::string, AlignPCLThreshold > threshold_map
Definition: AlignPCLThresholds.h:13
edmtest::AlignPCLThresholdsReader::printdebug_
const bool printdebug_
Definition: AlignPCLThresholdsReader.cc:24
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37