|
|
|
void | analyze (const edm::Event &, const edm::EventSetup &) override |
|
| PPSGeometryBuilder (const edm::ParameterSet &) |
|
| EDAnalyzer ()=default |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
| EDAnalyzerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDAnalyzerBase () override |
|
std::vector< ConsumesInfo > | consumesInfo () 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 |
|
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 |
|
EDConsumerBase & | operator= (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) |
|
|
typedef EDAnalyzerBase | ModuleType |
|
typedef ProductLabels | Labels |
|
static const std::string & | baseType () |
|
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
|
static void | prevalidate (ConfigurationDescriptions &descriptions) |
|
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> |
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<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
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) |
|
Definition at line 42 of file PPSGeometryBuilder.cc.
◆ PPSGeometryBuilder()
◆ analyze()
Implements edm::one::EDAnalyzerBase.
Definition at line 63 of file PPSGeometryBuilder.cc.
82 throw cms::Exception(
"PPSGeometryBuilder") <<
"PDetGeomDesc is empty, no geometry to save in the database.";
References cond::service::PoolDBOutputService::beginOfTime(), buildPDetGeomDesc(), edm::ESWatcher< T >::check(), compactViewTag_, PDetGeomDesc::container_, dbservice_, Exception, ALCARECOTkAlBeamHalo_cff::filter, edm::EventSetup::get(), get, edm::Service< T >::isAvailable(), watcherIdealGeometry_, and cond::service::PoolDBOutputService::writeOne().
◆ buildPDetGeomDesc()
Definition at line 96 of file PPSGeometryBuilder.cc.
130 item.sensorType_ =
"";
References PDetGeomDesc::container_, DDFilteredView::copyno(), DDD_CTPPS_PIXELS_SENSOR_NAME, DDD_CTPPS_PIXELS_SENSOR_TYPE_2x2, DDFilteredView::firstChild(), newFWLiteAna::found, DDFilteredView::geoHistory(), getGeographicalID(), B2GTnPMonitor_cfi::item, DDFilteredView::logicalPart(), Skims_PA_cff::name, DDFilteredView::nextSibling(), DDFilteredView::parent(), makeMuonMisalignmentScenario::rot, DDFilteredView::rotation(), AlCaHLTBitMon_QueryRunRegistry::string, DDFilteredView::translation(), geometryCSVtoXML::xx, geometryCSVtoXML::xy, geometryCSVtoXML::xz, geometryCSVtoXML::yy, geometryCSVtoXML::yz, and geometryCSVtoXML::zz.
Referenced by analyze().
◆ getGeographicalID()
uint32_t PPSGeometryBuilder::getGeographicalID |
( |
DDFilteredView * |
view | ) |
|
|
private |
Definition at line 154 of file PPSGeometryBuilder.cc.
160 const std::vector<int>& copy_num = view->
copyNumbers();
162 if (copy_num.size() < 3)
164 <<
"size of copyNumbers for strip sensor is " << copy_num.size() <<
". It must be >= 3.";
167 const unsigned int decRPId = copy_num[copy_num.size() - 3];
168 const unsigned int arm = decRPId / 100;
169 const unsigned int station = (decRPId % 100) / 10;
170 const unsigned int rp = decRPId % 10;
171 const unsigned int detector = copy_num[copy_num.size() - 1];
177 unsigned int decRPId = view->
copyno();
180 if (decRPId >= 10000) {
181 decRPId = decRPId % 10000;
182 const unsigned int armIdx = (decRPId / 100) % 10;
183 const unsigned int stIdx = (decRPId / 10) % 10;
184 const unsigned int rpIdx = decRPId % 10;
187 const unsigned int armIdx = (decRPId / 100) % 10;
188 const unsigned int stIdx = (decRPId / 10) % 10;
189 const unsigned int rpIdx = decRPId % 10;
195 const std::vector<int>& copy_num = view->
copyNumbers();
197 if (copy_num.size() < 4)
199 <<
"size of copyNumbers for TOTEM timing sensor is " << copy_num.size() <<
". It must be >= 4.";
201 const unsigned int decRPId = copy_num[copy_num.size() - 4];
202 const unsigned int arm = decRPId / 100,
station = (decRPId % 100) / 10, rp = decRPId % 10;
203 const unsigned int plane = copy_num[copy_num.size() - 2], channel = copy_num[copy_num.size() - 1];
214 const std::vector<int>& copy_num = view->
copyNumbers();
216 if (copy_num.size() < 4)
218 <<
"size of copyNumbers for pixel sensor is " << copy_num.size() <<
". It must be >= 4.";
221 const unsigned int decRPId = copy_num[copy_num.size() - 4] % 10000;
222 const unsigned int arm = decRPId / 100;
223 const unsigned int station = (decRPId % 100) / 10;
224 const unsigned int rp = decRPId % 10;
225 const unsigned int detector = copy_num[copy_num.size() - 2] - 1;
231 const std::vector<int>& copy_num = view->
copyNumbers();
233 const unsigned int id = copy_num[copy_num.size() - 1];
234 const unsigned int arm = copy_num[1] - 1;
235 const unsigned int station = 1;
236 const unsigned int rp = 6;
237 const unsigned int plane = (
id / 100);
238 const unsigned int channel =
id % 100;
245 const std::vector<int>& copy_num = view->
copyNumbers();
248 if (copy_num.size() < 2)
250 <<
"size of copyNumbers for diamond RP is " << copy_num.size() <<
". It must be >= 2.";
252 const unsigned int arm = copy_num[1] - 1;
253 const unsigned int station = 1;
254 const unsigned int rp = 6;
References DDFilteredView::copyno(), DDFilteredView::copyNumbers(), DDD_CTPPS_DIAMONDS_RP_NAME, DDD_CTPPS_DIAMONDS_SEGMENT_NAME, DDD_CTPPS_PIXELS_RP_NAME, DDD_CTPPS_PIXELS_SENSOR_NAME, DDD_CTPPS_UFSD_SEGMENT_NAME, DDD_TOTEM_RP_RP_NAME, DDD_TOTEM_RP_SENSOR_NAME, DDD_TOTEM_TIMING_RP_NAME, DDD_TOTEM_TIMING_SENSOR_TMPL, hgcalTestNeighbor_cfi::detector, DDFilteredView::logicalPart(), Skims_PA_cff::name, DDName::name(), DDBase< N, C >::name(), relativeConstraints::station, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by buildPDetGeomDesc().
◆ compactViewTag_
std::string PPSGeometryBuilder::compactViewTag_ |
|
private |
◆ dbservice_
◆ watcherIdealGeometry_
edm::ESWatcher< IdealGeometryRecord > watcherIdealGeometry_
void buildPDetGeomDesc(DDFilteredView *, PDetGeomDesc *)
bool check(const edm::EventSetup &iSetup)
const std::string DDD_CTPPS_UFSD_SEGMENT_NAME
const std::string DDD_CTPPS_PIXELS_SENSOR_NAME
cond::Time_t beginOfTime() const
std::string compactViewTag_
const DDLogicalPart & logicalPart() const
The logical-part of the current node in the filtered-view.
nav_type copyNumbers() const
return the stack of copy numbers
const std::string DDD_CTPPS_PIXELS_RP_NAME
const std::string DDD_TOTEM_TIMING_RP_NAME
T getUntrackedParameter(std::string const &, T const &) const
bool parent()
set the current node to the parent node ...
const std::string DDD_CTPPS_PIXELS_SENSOR_TYPE_2x2
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
const std::string DDD_CTPPS_DIAMONDS_SEGMENT_NAME
bool firstChild()
set the current node to the first child ...
bool nextSibling()
set the current node to the next sibling ...
std::vector< Item > container_
Detector ID class for CTPPS Totem Timing detectors. Bits [19:31] : Assigend in CTPPSDetId Calss Bits ...
Detector ID class for CTPPS Timing Diamond detectors. Bits [19:31] : Assigend in CTPPSDetId Calss Bit...
const std::string DDD_CTPPS_DIAMONDS_RP_NAME
const std::string DDD_TOTEM_TIMING_SENSOR_TMPL
const std::string & name() const
Returns the name.
const std::string DDD_TOTEM_RP_RP_NAME
DDD names of RP volumes.
const DDGeoHistory & geoHistory() const
The list of ancestors up to the root-node of the current node.
edm::Service< cond::service::PoolDBOutputService > dbservice_
A DDFilter that always returns true.
const DDTranslation & translation() const
The absolute translation of the current node.
Hash writeOne(const T *payload, Time_t time, const std::string &recordName)
const std::string DDD_TOTEM_RP_SENSOR_NAME
DDD names of sensors.
uint32_t getGeographicalID(DDFilteredView *)
const DDRotationMatrix & rotation() const
The absolute rotation of the current node.
Detector ID class for TOTEM Si strip detectors.
int copyno() const
Copy number associated with the current node.