|
ATLAS Offline Software
|
Go to the documentation of this file.
19 , m_inputKey(
"TGCRDO")
20 , m_inputTruthKey(
"TGC_SDO")
105 , m_ntupleFileName(
"/ntuples/file1")
106 , m_ntupleDirName(
"/TGC_RDOAnalysis/")
107 , m_ntupleTreeName(
"TGC_RDOAna")
108 ,
m_path(
"/TGC_RDOAnalysis/")
109 , m_thistSvc(
"THistSvc",
name)
245 m_h_type =
new TH1F(
"h_type",
"type (hit or coinc)", 100, 0, 10);
253 m_h_bitPos =
new TH1F(
"h_bitPos",
"Bitmap position", 100, 0, 220);
261 m_h_adj =
new TH1F(
"h_adj",
"Adjacent", 100, 0, 2);
273 m_h_xPos =
new TH1F(
"h_xPos",
"Global x-position (SDO)", 100, -15000, 15000);
277 m_h_yPos =
new TH1F(
"h_yPos",
"Global y-position (SDO)", 100, -15000, 15000);
281 m_h_zPos =
new TH1F(
"h_zPos",
"Global z-position (SDO)", 100, -15000, 15000);
297 m_h_localZ =
new TH1F(
"h_localZ",
"Local z-position (SDO)", 100, -250, 250);
301 return StatusCode::SUCCESS;
367 for ( ; tgcCont_itr != tgcCont_end; ++tgcCont_itr ) {
368 const uint16_t tgcID((*tgcCont_itr)->identify());
369 const uint16_t tgcSubDetID((*tgcCont_itr)->subDetectorId());
370 const uint16_t tgcRodID((*tgcCont_itr)->rodId());
371 const uint16_t tgcTrigType((*tgcCont_itr)->triggerType());
372 const uint16_t tgcBcID((*tgcCont_itr)->bcId());
373 const uint16_t tgcL1ID((*tgcCont_itr)->l1Id());
378 const uint32_t tgcOrbit((*tgcCont_itr)->orbit());
379 const uint16_t tgcVersion((*tgcCont_itr)->version());
397 const TgcRdo* p_TGCraw(*tgcCont_itr);
401 for ( ; tgc_itr != tgc_end; ++tgc_itr ) {
402 const uint16_t bctag((*tgc_itr)->bcTag());
403 const uint16_t subDetID((*tgc_itr)->subDetectorId());
404 const uint16_t rodID((*tgc_itr)->rodId());
405 const uint16_t sswID((*tgc_itr)->sswId());
406 const uint16_t slbID((*tgc_itr)->slbId());
407 const uint16_t bcID((*tgc_itr)->bcId());
408 const uint16_t l1ID((*tgc_itr)->l1Id());
411 const bool coinc((*tgc_itr)->isCoincidence());
412 const uint16_t bitPos((*tgc_itr)->bitpos());
414 const bool adj((*tgc_itr)->isAdjacent());
415 const bool forward((*tgc_itr)->isForward());
416 const uint16_t ix((*tgc_itr)->index());
418 const uint16_t del((*tgc_itr)->delta());
419 const uint16_t seg((*tgc_itr)->segment());
420 const uint16_t subMat((*tgc_itr)->subMatrix());
421 const uint16_t sector((*tgc_itr)->sector());
422 const uint16_t chip((*tgc_itr)->chip());
423 const bool hipt((*tgc_itr)->isHipt());
424 const uint16_t hitID((*tgc_itr)->hitId());
425 const uint16_t hsub((*tgc_itr)->hsub());
426 const bool strip((*tgc_itr)->isStrip());
428 const bool cand3plus((*tgc_itr)->cand3plus());
429 const bool muplus((*tgc_itr)->isMuplus());
430 const bool thresh((*tgc_itr)->threshold());
431 const bool overlap((*tgc_itr)->isOverlap());
432 const bool veto((*tgc_itr)->isVeto());
433 const uint16_t roi((*tgc_itr)->roi());
442 m_type->push_back(
int(type_var));
447 m_adj->push_back(adj);
466 m_roi->push_back(roi);
477 if (
int(type_var) == 0) {
489 MuonSimDataCollection::const_iterator sdo_itr(simDataMapTGC->begin());
490 const MuonSimDataCollection::const_iterator sdo_end(simDataMapTGC->end());
492 std::vector<int> barcode_vec;
493 std::vector<int> eventIndex_vec;
494 std::vector<double> radius_vec;
495 std::vector<float> localZ_vec;
496 for ( ; sdo_itr != sdo_end; ++sdo_itr ) {
500 const unsigned long long sdoID_int = sdoID.
get_compact();
501 const int sdoWord(sdo.
word());
503 const float xPos(
gPos.x());
504 const float yPos(
gPos.y());
505 const float zPos(
gPos.z());
520 const std::vector<MuonSimData::Deposit>& deposits = sdo.
getdeposits();
521 std::vector<MuonSimData::Deposit>::const_iterator dep_itr(deposits.begin());
522 const std::vector<MuonSimData::Deposit>::const_iterator dep_end(deposits.end());
523 for ( ; dep_itr != dep_end; ++dep_itr ) {
529 const float localZ(
data.secondEntry());
541 barcode_vec.push_back(
bar);
542 eventIndex_vec.push_back(eventIx);
543 radius_vec.push_back(
radius);
544 localZ_vec.push_back(localZ);
551 eventIndex_vec.clear();
561 return StatusCode::SUCCESS;
565 return StatusCode::SUCCESS;
std::vector< float > * m_zPos
std::vector< uint16_t > * m_segment
std::vector< uint16_t > * m_rodID
char data[hepevt_bytes_allocation_ATLAS]
std::vector< bool > * m_veto
std::vector< bool > * m_hipt
SG::ReadHandleKey< MuonSimDataCollection > m_inputTruthKey
std::vector< int > * m_eventIndex
Const iterator class for DataVector/DataList.
std::vector< float > * m_xPos
std::vector< uint16_t > * m_hsub
std::vector< uint16_t > * m_tgcVersion
std::vector< float > * m_yPos
std::vector< uint16_t > * m_bcTag
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
std::vector< bool > * m_strip
std::vector< double > * m_radius
std::vector< bool > * m_muplus
std::string m_ntupleDirName
std::vector< uint16_t > * m_pos
std::vector< uint16_t > * m_subMat
const std::vector< Deposit > & getdeposits() const
std::vector< uint16_t > * m_sswID
std::vector< uint16_t > * m_tgcBcID
std::vector< int > * m_type
std::vector< uint16_t > * m_l1ID
std::vector< uint16_t > * m_track
std::vector< std::vector< double > > * m_radius_vec
std::vector< uint16_t > * m_bitPos
virtual StatusCode execute() override final
std::vector< unsigned long long > * m_sdoID
a link optimized in size for a GenParticle in a McEventCollection
std::vector< uint16_t > * m_index
std::vector< uint32_t > * m_tgcOrbit
std::vector< uint16_t > * m_tgcTrigType
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< uint16_t > * m_bcID
std::string m_path
the path being used
std::vector< uint16_t > * m_tgcRodID
std::vector< std::vector< float > > * m_localZ_vec
const_iterator end() const
return const_iterator for end of container
const_iterator begin() const
return const_iterator for first entry
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
std::vector< bool > * m_coinc
std::string m_ntupleTreeName
virtual bool isValid() override final
Can the handle be successfully dereferenced?
std::vector< uint16_t > * m_chip
std::vector< uint16_t > * m_tgcID
std::vector< bool > * m_adj
std::vector< int > * m_slbType
virtual StatusCode initialize() override final
std::string m_ntupleFileName
index_type eventIndex() const
Return the event number of the referenced GenEvent.
std::vector< std::vector< int > > * m_eventIndex_vec
std::vector< uint16_t > * m_hitID
std::vector< uint16_t > * m_tgcSubDetID
std::vector< int > * m_barcode
virtual StatusCode finalize() override final
TGC_RDOAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< uint16_t > * m_slbID
Eigen::Matrix< double, 3, 1 > Vector3D
std::vector< uint16_t > * m_sector
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
std::vector< uint16_t > * m_delta
value_type get_compact(void) const
Get the compact id.
std::vector< std::vector< int > > * m_barcode_vec
std::vector< bool > * m_overlap
std::vector< bool > * m_forward
std::vector< bool > * m_cand3plus
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
std::vector< float > * m_localZ
std::vector< std::string > veto
these patterns are anded
std::vector< uint16_t > * m_roi
std::vector< bool > * m_thresh
Handle class for reading from StoreGate.
ServiceHandle< ITHistSvc > m_thistSvc
std::vector< uint16_t > * m_inner
std::vector< int > * m_sdoWord
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
const Amg::Vector3D globalPosition() const
std::vector< uint16_t > * m_subDetID
SG::ReadHandleKey< TgcRdoContainer > m_inputKey
std::vector< uint16_t > * m_tgcL1ID