ATLAS Offline Software
Public Types | Public Member Functions | Public Attributes | List of all members
Muon::MuonValidationTruthBlock Struct Reference

Block with truth information. More...

#include <MuonInsideOutValidationNtuple.h>

Inheritance diagram for Muon::MuonValidationTruthBlock:
Collaboration diagram for Muon::MuonValidationTruthBlock:

Public Types

typedef std::pair< std::reference_wrapper< std::vector< int > * >, std::string > IntBlock
 
typedef std::pair< std::reference_wrapper< std::vector< unsigned int > * >, std::string > UnsignedIntBlock
 
typedef std::pair< std::reference_wrapper< std::vector< float > * >, std::string > FloatBlock
 
typedef std::pair< MuonValidationBlockBase *, std::string > SubBlock
 

Public Member Functions

 MuonValidationTruthBlock ()
 
void fill (int pdg_, int barcode_, float beta_=1.)
 
void addBlock (std::vector< int > *&block, std::string name)
 
void addBlock (std::vector< unsigned int > *&block, std::string name)
 
void addBlock (std::vector< float > *&block, std::string name)
 
void addBlock (MuonValidationBlockBase *block, std::string name)
 
void init (const std::string &prefix, TTree *, bool write=true)
 
void clear ()
 

Public Attributes

std::vector< int > * pdg = nullptr
 
std::vector< int > * barcode = nullptr
 
std::vector< float > * beta = nullptr
 
std::vector< IntBlockintBlocks
 
std::vector< UnsignedIntBlockunsignedIntBlocks
 
std::vector< FloatBlockfloatBlocks
 
std::vector< SubBlocksubBlocks
 

Detailed Description

Block with truth information.

Definition at line 72 of file MuonInsideOutValidationNtuple.h.

Member Typedef Documentation

◆ FloatBlock

typedef std::pair<std::reference_wrapper<std::vector<float>*>,std::string> Muon::MuonValidationBlockBase::FloatBlock
inherited

Definition at line 30 of file MuonInsideOutValidationNtuple.h.

◆ IntBlock

typedef std::pair<std::reference_wrapper<std::vector<int>*>,std::string> Muon::MuonValidationBlockBase::IntBlock
inherited

Definition at line 28 of file MuonInsideOutValidationNtuple.h.

◆ SubBlock

typedef std::pair< MuonValidationBlockBase*, std::string > Muon::MuonValidationBlockBase::SubBlock
inherited

Definition at line 31 of file MuonInsideOutValidationNtuple.h.

◆ UnsignedIntBlock

typedef std::pair<std::reference_wrapper<std::vector<unsigned int>*>,std::string> Muon::MuonValidationBlockBase::UnsignedIntBlock
inherited

Definition at line 29 of file MuonInsideOutValidationNtuple.h.

Constructor & Destructor Documentation

◆ MuonValidationTruthBlock()

Muon::MuonValidationTruthBlock::MuonValidationTruthBlock ( )

Definition at line 117 of file MuonInsideOutValidationNtuple.cxx.

117  {
118  addBlock(pdg,"pdg");
119  addBlock(barcode,"barcode");
120  addBlock(beta,"beta");
121  }

Member Function Documentation

◆ addBlock() [1/4]

void Muon::MuonValidationBlockBase::addBlock ( MuonValidationBlockBase block,
std::string  name 
)
inlineinherited

Definition at line 40 of file MuonInsideOutValidationNtuple.h.

40 { subBlocks.push_back( SubBlock(block,name) ); }

◆ addBlock() [2/4]

void Muon::MuonValidationBlockBase::addBlock ( std::vector< float > *&  block,
std::string  name 
)
inlineinherited

Definition at line 39 of file MuonInsideOutValidationNtuple.h.

39 { block=nullptr; floatBlocks.push_back( FloatBlock(block,name) ); }

◆ addBlock() [3/4]

void Muon::MuonValidationBlockBase::addBlock ( std::vector< int > *&  block,
std::string  name 
)
inlineinherited

Definition at line 37 of file MuonInsideOutValidationNtuple.h.

37 { block=nullptr; intBlocks.push_back( IntBlock(block,name) ); }

◆ addBlock() [4/4]

void Muon::MuonValidationBlockBase::addBlock ( std::vector< unsigned int > *&  block,
std::string  name 
)
inlineinherited

Definition at line 38 of file MuonInsideOutValidationNtuple.h.

38 { block=nullptr; unsignedIntBlocks.push_back( UnsignedIntBlock(block,name) ); }

◆ clear()

void Muon::MuonValidationBlockBase::clear ( )
inherited

Definition at line 10 of file MuonInsideOutValidationNtuple.cxx.

10  {
11 
12  // clear entries
13  for( const auto& entry : intBlocks ) entry.first.get()->clear();
14  for( const auto& entry : unsignedIntBlocks ) entry.first.get()->clear();
15  for( const auto& entry : floatBlocks ) entry.first.get()->clear();
16  for( auto entry : subBlocks ) entry.first->clear();
17 
18  }

◆ fill()

void Muon::MuonValidationTruthBlock::fill ( int  pdg_,
int  barcode_,
float  beta_ = 1. 
)
inline

Definition at line 79 of file MuonInsideOutValidationNtuple.h.

79 { pdg->push_back(pdg_); barcode->push_back(barcode_);beta->push_back(beta_); } // FIXME barcode-based

◆ init()

void Muon::MuonValidationBlockBase::init ( const std::string &  prefix,
TTree *  tree,
bool  write = true 
)
inherited

Definition at line 28 of file MuonInsideOutValidationNtuple.cxx.

28  {
29 
30 
31  for( const auto& entry : intBlocks ) {
32  if( tree ){
33  if( write ){
34  entry.first.get() = new std::vector<int>();
35  tree->Branch( (prefix + entry.second).c_str(), entry.first.get());
36  }else{
37  tree->SetBranchAddress( (prefix + entry.second).c_str(), &entry.first.get());
38  }
39  }
40  }
41 
42  for( const auto& entry : unsignedIntBlocks ) {
43  if( tree ){
44  if( write ){
45  entry.first.get() = new std::vector<unsigned int>();
46  tree->Branch( (prefix + entry.second).c_str(), entry.first.get());
47  }else{
48  tree->SetBranchAddress( (prefix + entry.second).c_str(), &entry.first.get());
49  }
50  }
51  }
52 
53  for( const auto& entry : floatBlocks ) {
54  if( tree ){
55  if( write ){
56  entry.first.get() = new std::vector<float>();
57  tree->Branch( (prefix + entry.second).c_str(), entry.first.get());
58  }else{
59  tree->SetBranchAddress( (prefix + entry.second).c_str(), &entry.first.get());
60  }
61  }
62  }
63 
64  for( auto entry : subBlocks ) {
65  entry.first->init(prefix + entry.second, tree, write );
66  }
67 
68  }

Member Data Documentation

◆ barcode

std::vector<int>* Muon::MuonValidationTruthBlock::barcode = nullptr

Definition at line 76 of file MuonInsideOutValidationNtuple.h.

◆ beta

std::vector<float>* Muon::MuonValidationTruthBlock::beta = nullptr

Definition at line 77 of file MuonInsideOutValidationNtuple.h.

◆ floatBlocks

std::vector< FloatBlock > Muon::MuonValidationBlockBase::floatBlocks
inherited

Definition at line 45 of file MuonInsideOutValidationNtuple.h.

◆ intBlocks

std::vector< IntBlock > Muon::MuonValidationBlockBase::intBlocks
inherited

Definition at line 43 of file MuonInsideOutValidationNtuple.h.

◆ pdg

std::vector<int>* Muon::MuonValidationTruthBlock::pdg = nullptr

Definition at line 75 of file MuonInsideOutValidationNtuple.h.

◆ subBlocks

std::vector< SubBlock > Muon::MuonValidationBlockBase::subBlocks
inherited

Definition at line 46 of file MuonInsideOutValidationNtuple.h.

◆ unsignedIntBlocks

std::vector< UnsignedIntBlock > Muon::MuonValidationBlockBase::unsignedIntBlocks
inherited

Definition at line 44 of file MuonInsideOutValidationNtuple.h.


The documentation for this struct was generated from the following files:
Muon::MuonValidationBlockBase::floatBlocks
std::vector< FloatBlock > floatBlocks
Definition: MuonInsideOutValidationNtuple.h:45
Muon::MuonValidationBlockBase::UnsignedIntBlock
std::pair< std::reference_wrapper< std::vector< unsigned int > * >, std::string > UnsignedIntBlock
Definition: MuonInsideOutValidationNtuple.h:29
tree
TChain * tree
Definition: tile_monitor.h:30
Muon::MuonValidationBlockBase::intBlocks
std::vector< IntBlock > intBlocks
Definition: MuonInsideOutValidationNtuple.h:43
Muon::MuonValidationTruthBlock::barcode
std::vector< int > * barcode
Definition: MuonInsideOutValidationNtuple.h:76
Muon::MuonValidationBlockBase::IntBlock
std::pair< std::reference_wrapper< std::vector< int > * >, std::string > IntBlock
Definition: MuonInsideOutValidationNtuple.h:28
Muon::MuonValidationBlockBase::SubBlock
std::pair< MuonValidationBlockBase *, std::string > SubBlock
Definition: MuonInsideOutValidationNtuple.h:31
Muon::MuonValidationTruthBlock::beta
std::vector< float > * beta
Definition: MuonInsideOutValidationNtuple.h:77
Muon::MuonValidationBlockBase::unsignedIntBlocks
std::vector< UnsignedIntBlock > unsignedIntBlocks
Definition: MuonInsideOutValidationNtuple.h:44
Muon::MuonValidationBlockBase::subBlocks
std::vector< SubBlock > subBlocks
Definition: MuonInsideOutValidationNtuple.h:46
Muon::MuonValidationTruthBlock::pdg
std::vector< int > * pdg
Definition: MuonInsideOutValidationNtuple.h:75
Muon::MuonValidationBlockBase::FloatBlock
std::pair< std::reference_wrapper< std::vector< float > * >, std::string > FloatBlock
Definition: MuonInsideOutValidationNtuple.h:30
python.ByteStreamConfig.write
def write
Definition: Event/ByteStreamCnvSvc/python/ByteStreamConfig.py:248
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
GetAllXsec.entry
list entry
Definition: GetAllXsec.py:132
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Muon::MuonValidationBlockBase::addBlock
void addBlock(std::vector< int > *&block, std::string name)
Definition: MuonInsideOutValidationNtuple.h:37