|
ATLAS Offline Software
|
Go to the documentation of this file.
20 m_acc(nLayers, nCoords),
50 tree->SetBranchAddress(
"tmpintd0", &
m_pd0);
51 tree->SetBranchAddress(
"tmpintz0", &
m_pz0);
113 while (
reader.nextEntry())
114 matrices.push_back({
reader.getModules(),
reader.getAccumulator() });
130 m_nCoords2(nCoords * nCoords),
146 m_tree->Branch(
"sectorID", &anInt,
"sectorID[nplanes]/I");
147 m_tree->Branch(
"hashID", &anInt,
"hashID[nplanes]/I");
149 m_tree->Branch(
"tmpC", &aDouble,
"tmpC/D");
150 m_tree->Branch(
"tmpD", &aDouble,
"tmpD/D");
151 m_tree->Branch(
"tmpPhi", &aDouble,
"tmpPhi/D");
152 m_tree->Branch(
"tmpCoto", &aDouble,
"tmpCoto/D");
153 m_tree->Branch(
"tmpZ", &aDouble,
"tmpZ/D");
155 m_tree->Branch(
"Vec", &aFloat,
"Vec[ndim]/F");
156 m_tree->Branch(
"VecG", &aFloat,
"VecG[ndim]/F");
157 m_tree->Branch(
"tmpxC", &aDouble,
"tmpxC[ndim]/D");
158 m_tree->Branch(
"tmpxGC", &aDouble,
"tmpxGC[ndim]/D");
159 m_tree->Branch(
"tmpxD", &aDouble,
"tmpxD[ndim]/D");
160 m_tree->Branch(
"tmpxPhi", &aDouble,
"tmpxPhi[ndim]/D");
161 m_tree->Branch(
"tmpxCoto", &aDouble,
"tmpxCoto[ndim]/D");
162 m_tree->Branch(
"tmpxGCoto", &aDouble,
"tmpxGCoto[ndim]/D");
163 m_tree->Branch(
"tmpxZ", &aDouble,
"tmpxZ[ndim]/D");
164 m_tree->Branch(
"tmpcovx", &aDouble,
"tmpcovx[ndim2]/D");
165 m_tree->Branch(
"tmpcovxG", &aDouble,
"tmpcovxG[ndim2]/D");
178 m_tree->SetBranchAddress(
"sectorID",
acc.FTK_modules.data());
179 m_tree->SetBranchAddress(
"hashID", modules.data());
181 m_tree->SetBranchAddress(
"tmpC", &
acc.pars.qOverPt);
182 m_tree->SetBranchAddress(
"tmpD", &
acc.pars.d0);
183 m_tree->SetBranchAddress(
"tmpPhi", &
acc.pars.phi);
184 m_tree->SetBranchAddress(
"tmpCoto", &
acc.pars.eta);
185 m_tree->SetBranchAddress(
"tmpZ", &
acc.pars.z0);
187 m_tree->SetBranchAddress(
"Vec",
acc.hit_coords.data());
188 m_tree->SetBranchAddress(
"VecG",
acc.hit_coordsG.data());
189 m_tree->SetBranchAddress(
"tmpxC",
acc.hit_x_QoP.data());
190 m_tree->SetBranchAddress(
"tmpxGC",
acc.hit_xG_HIP.data());
191 m_tree->SetBranchAddress(
"tmpxD",
acc.hit_x_d0.data());
192 m_tree->SetBranchAddress(
"tmpxPhi",
acc.hit_x_phi.data());
193 m_tree->SetBranchAddress(
"tmpxCoto",
acc.hit_x_eta.data());
194 m_tree->SetBranchAddress(
"tmpxGCoto",
acc.hit_xG_eta.data());
195 m_tree->SetBranchAddress(
"tmpxZ",
acc.hit_x_z0.data());
196 m_tree->SetBranchAddress(
"tmpcovx",
acc.covariance.data());
197 m_tree->SetBranchAddress(
"tmpcovxG",
acc.covarianceG.data());
228 fillTree(map.begin(), map.end(),
tree, nLayers, nCoords);
std::vector< double > hit_x_QoP
size_t fill(std::vector< module_t > modules, FPGATrackSimMatrixAccumulator &acc)
void readTree(AccumulateMap &map, TTree *tree, size_t nLayers, size_t nCoords)
Reads a matrix tree, accumulating its entries into a map.
std::vector< double > hit_x_phi
FPGATrackSimMatrixReader(TTree *tree, size_t nLayers, size_t nCoords)
std::vector< short > m_bins_eta
std::vector< double > covarianceG
std::vector< short > * m_pz0
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
std::vector< short > * m_pz0
std::vector< short > * m_pphi
std::vector< double > hit_x_d0
TGraphErrors * GetEntries(TH2F *histo)
std::vector< FPGATrackSimTrackParsI > track_bins
std::vector< short > m_bins_eta
std::vector< short > * m_pd0
std::vector< short > m_bins_phi
std::vector< short > m_bins_z0
void fillTree(AccumulateMap &map, TTree *tree, int nLayers, int nCoords)
Writes the contents of an AccumulateMap into the supplied tree (one entry per sector).
std::vector< double > hit_x_eta
std::vector< double > hit_xG_HIP
std::vector< module_t > m_modules
Classes to read/write matrix files event by event.
std::vector< double > covariance
FPGATrackSimMatrixWriter(TTree *tree, int nLayers, int nCoords)
std::vector< short > * m_pQoP
FPGATrackSimMatrixAccumulator m_acc
std::vector< short > m_bins_d0
std::vector< short > * m_pd0
std::vector< short > * m_pphi
std::vector< short > m_bins_QoP
std::vector< short > m_bins_z0
std::vector< double > hit_x_z0
std::vector< module_t > FTK_modules
std::vector< double > hit_xG_eta
std::vector< short > m_bins_phi
FPGATrackSimTrackPars pars
void readEntry(size_t entry)
std::vector< short > m_bins_d0
std::vector< short > * m_peta
std::vector< short > * m_pQoP
std::unordered_map< std::vector< module_t >, FPGATrackSimMatrixAccumulator, container_hash< std::vector< module_t > > > AccumulateMap
std::vector< float > hit_coordsG
std::vector< short > m_bins_QoP
reader
read the goodrunslist xml file(s)
std::vector< float > hit_coords
std::vector< short > * m_peta