|
ATLAS Offline Software
|
#include <CaloGeometryFromFile.h>
|
| CaloGeometryFromFile () |
|
bool | LoadGeometryFromFile (const std::string &fileName, const std::string &treeName, const std::string &hashFileName="/eos/atlas/atlascerngroupdisk/proj-simul/" "CaloGeometry/cellId_vs_cellHashId_map.txt") |
|
bool | LoadFCalGeometryFromFiles (const std::array< std::string, 3 > &fileNames) |
|
void | DrawFCalGraph (int isam, int color) |
|
virtual bool | PostProcessGeometry () |
|
virtual void Validate | ATLAS_NOT_THREAD_SAFE (int nrnd=100) |
|
virtual const CaloDetDescrElement * | getDDE (Identifier identify) |
|
virtual const CaloDetDescrElement * | getDDE (int sampling, Identifier identify) |
|
virtual const CaloDetDescrElement * | getDDE (int sampling, float eta, float phi, float *distance=0, int *steps=0) |
|
virtual const CaloDetDescrElement * | getFCalDDE (int sampling, float x, float y, float z, float *distance=0, int *steps=0) |
|
bool | getClosestFCalCellIndex (int sampling, float x, float y, int &ieta, int &iphi, int *steps=0) |
|
double | deta (int sample, double eta) const |
|
void | minmaxeta (int sample, double eta, double &mineta, double &maxeta) const |
|
double | rzmid (int sample, double eta) const |
|
double | rzent (int sample, double eta) const |
|
double | rzext (int sample, double eta) const |
|
double | rmid (int sample, double eta) const |
|
double | rent (int sample, double eta) const |
|
double | rext (int sample, double eta) const |
|
double | zmid (int sample, double eta) const |
|
double | zent (int sample, double eta) const |
|
double | zext (int sample, double eta) const |
|
double | rpos (int sample, double eta, int subpos=CaloSubPos::SUBPOS_MID) const |
|
double | zpos (int sample, double eta, int subpos=CaloSubPos::SUBPOS_MID) const |
|
double | rzpos (int sample, double eta, int subpos=CaloSubPos::SUBPOS_MID) const |
|
bool | isCaloBarrel (int sample) const |
|
TGraphErrors * | GetGraph (unsigned int sample) const |
|
void | SetDoGraphs (bool dographs=true) |
|
bool | DoGraphs () const |
|
TGraph * | DrawGeoSampleForPhi0 (int sample, int calocol, bool print=false) |
|
TCanvas * | DrawGeoForPhi0 () |
|
FCAL_ChannelMap * | GetFCAL_ChannelMap () |
|
void | SetFCal_ChannelMap (const FCAL_ChannelMap *fcal_ChannnelMap) |
|
virtual void | PrintMapInfo (int i, int j) |
|
Definition at line 10 of file CaloGeometryFromFile.h.
◆ CaloGeometryFromFile()
CaloGeometryFromFile::CaloGeometryFromFile |
( |
| ) |
|
◆ addcell()
|
protectedvirtualinherited |
◆ ATLAS_NOT_THREAD_SAFE()
virtual void Validate CaloGeometry::ATLAS_NOT_THREAD_SAFE |
( |
int |
nrnd = 100 | ) |
|
|
virtualinherited |
◆ calculateFCalRminRmax()
void CaloGeometryFromFile::calculateFCalRminRmax |
( |
| ) |
|
|
private |
◆ checkFCalGeometryConsistency()
bool CaloGeometryFromFile::checkFCalGeometryConsistency |
( |
| ) |
|
|
privatevirtual |
Reimplemented from CaloGeometry.
Definition at line 327 of file CaloGeometryFromFile.cxx.
334 long mask1[]{0x34, 0x34, 0x35};
335 long mask2[]{0x36, 0x36, 0x37};
340 for (
int imap = 1; imap <= 3; imap++) {
342 int sampling = imap + 20;
349 <<
"Error: Incompatibility between FCalChannel map and GEO file: "
350 "Different number of cells in m_cells_in_sampling and "
353 std::cout <<
"m_cells_in_sampling: "
355 std::cout <<
"FCal_ChannelMap: "
366 phi_index =
it->first & 0xffff;
372 id = (mask1[imap - 1] << 12) + (
eta_index << 5) + 2 * phi_index;
377 Identifier id1((
unsigned long long)(
id << 44));
380 id = (mask2[imap - 1] << 12) + (
eta_index << 5) + 2 * phi_index;
386 if (!TMath::AreEqualRel(
x, DDE1->
x(), 1.E-8)
387 || !TMath::AreEqualRel(
y, DDE1->
y(), 1.E-8)
388 || !TMath::AreEqualRel(
x, DDE2->
x(), 1.E-8)
389 || !TMath::AreEqualRel(
y, DDE2->
y(), 1.E-8)) {
391 <<
"Error: Incompatibility between FCalChannel map and GEO file \n"
392 <<
x <<
" " << DDE1->
x() <<
" " << DDE2->
x() <<
y <<
" "
393 << DDE1->
y() <<
" " << DDE2->
y() << std::endl;
◆ deta()
double CaloGeometry::deta |
( |
int |
sample, |
|
|
double |
eta |
|
) |
| const |
|
virtualinherited |
◆ DoGraphs()
bool CaloGeometry::DoGraphs |
( |
| ) |
const |
|
inlineinherited |
◆ DrawFCalGraph()
void CaloGeometryFromFile::DrawFCalGraph |
( |
int |
isam, |
|
|
int |
color |
|
) |
| |
Definition at line 276 of file CaloGeometryFromFile.cxx.
279 std::stringstream
ss;
280 ss <<
"FCal" << isam - 20 << std::endl;
284 std::vector<double>
x;
285 std::vector<double>
y;
291 x.push_back(
it->second->x());
292 y.push_back(
it->second->y());
295 TGraph *graph =
new TGraph(
size, &
x[0], &
y[0]);
296 graph->SetLineColor(
color);
297 graph->SetTitle(
ss.str().c_str());
298 graph->SetMarkerStyle(21);
299 graph->SetMarkerColor(
color);
300 graph->SetMarkerSize(0.5);
301 graph->GetXaxis()->SetTitle(
"x [mm]");
302 graph->GetYaxis()->SetTitle(
"y [mm]");
◆ DrawGeoForPhi0()
TCanvas * CaloGeometry::DrawGeoForPhi0 |
( |
| ) |
|
|
inherited |
Definition at line 440 of file CaloGeometry.cxx.
442 TCanvas*
c=
new TCanvas(
"CaloGeoForPhi0",
"Calo geometry for #phi~0");
443 TH2D* hcalolayout=
new TH2D(
"hcalolayoutPhi0",
"Reconstruction geometry: calorimeter layout;z [mm];r [mm]",50,-7000,7000,50,0,4000);
445 hcalolayout->SetStats(0);
446 hcalolayout->GetYaxis()->SetTitleOffset(1.4);
448 TLegend*
leg=
new TLegend(0.30,0.13,0.70,0.37);
449 leg->SetFillStyle(0);
450 leg->SetFillColor(10);
451 leg->SetBorderSize(1);
457 std::string sname=Form(
"Sampling %2d : ",
sample);
459 leg->AddEntry(
gr,sname.c_str(),
"LF");
◆ DrawGeoSampleForPhi0()
TGraph * CaloGeometry::DrawGeoSampleForPhi0 |
( |
int |
sample, |
|
|
int |
calocol, |
|
|
bool |
print = false |
|
) |
| |
|
inherited |
Definition at line 349 of file CaloGeometry.cxx.
354 TGraph* firstgr=
nullptr;
361 TGraph*
gr=
new TGraph(5);
362 gr->SetLineColor(TMath::Abs(calocol));
363 gr->SetFillColor(TMath::Abs(calocol));
365 gr->SetFillStyle(1001);
370 double r=theDDE->
r();
371 double dr=theDDE->
dr();
372 double x=theDDE->
x();
373 double dx=theDDE->
dx();
374 double y=theDDE->
y();
375 double dy=theDDE->
dy();
376 double z=theDDE->
z();
377 double dz=theDDE->
dz()*2;
385 cout<<
"sample="<<
sample<<
" r="<<
r<<
" dr="<<
dr<<
" eta="<<
eta<<
" deta="<<
deta<<
" x="<<
x<<
" y="<<
y<<
" z="<<
z<<
" dz="<<dz<<endl;
389 gr->SetPoint(0,cv.Z(),cv.Pt());
390 gr->SetPoint(4,cv.Z(),cv.Pt());
392 gr->SetPoint(1,cv.Z(),cv.Pt());
394 gr->SetPoint(2,cv.Z(),cv.Pt());
396 gr->SetPoint(3,cv.Z(),cv.Pt());
399 cv.SetPtEtaPhi(1,
eta-
deta/2,0);cv*=(
z-dz/2)/cv.Z();
400 gr->SetPoint(0,cv.Z(),cv.Pt());
401 gr->SetPoint(4,cv.Z(),cv.Pt());
402 cv.SetPtEtaPhi(1,
eta+
deta/2,0);cv*=(
z-dz/2)/cv.Z();
403 gr->SetPoint(1,cv.Z(),cv.Pt());
404 cv.SetPtEtaPhi(1,
eta+
deta/2,0);cv*=(
z+dz/2)/cv.Z();
405 gr->SetPoint(2,cv.Z(),cv.Pt());
406 cv.SetPtEtaPhi(1,
eta-
deta/2,0);cv*=(
z+dz/2)/cv.Z();
407 gr->SetPoint(3,cv.Z(),cv.Pt());
414 minr=TMath::Min(minr,
pr);
415 maxr=TMath::Max(maxr,
pr);
418 cv.SetXYZ(minr,0,
z-dz/2);
419 gr->SetPoint(0,cv.Z(),cv.Pt());
420 gr->SetPoint(4,cv.Z(),cv.Pt());
421 cv.SetXYZ(maxr,0,
z-dz/2);
422 gr->SetPoint(1,cv.Z(),cv.Pt());
423 cv.SetXYZ(maxr,0,
z+dz/2);
424 gr->SetPoint(2,cv.Z(),cv.Pt());
425 cv.SetXYZ(minr,0,
z+dz/2);
426 gr->SetPoint(3,cv.Z(),cv.Pt());
432 if(ngr==0) firstgr=
gr;
◆ getClosestFCalCellIndex()
bool CaloGeometry::getClosestFCalCellIndex |
( |
int |
sampling, |
|
|
float |
x, |
|
|
float |
y, |
|
|
int & |
ieta, |
|
|
int & |
iphi, |
|
|
int * |
steps = 0 |
|
) |
| |
|
inherited |
Definition at line 592 of file CaloGeometry.cxx.
596 int isam=sampling-20;
602 const double r = sqrt(
x*
x +
y*
y);
603 if(
r==0.)
return false;
604 const double r_inverse=1./
r;
606 if((
r/rmax)>(rmin*r_inverse)){
◆ getDDE() [1/3]
◆ getDDE() [2/3]
const CaloDetDescrElement * CaloGeometry::getDDE |
( |
int |
sampling, |
|
|
float |
eta, |
|
|
float |
phi, |
|
|
float * |
distance = 0 , |
|
|
int * |
steps = 0 |
|
) |
| |
|
virtualinherited |
Implements ICaloGeometry.
Definition at line 475 of file CaloGeometry.cxx.
477 if(sampling<0)
return nullptr;
487 if(
steps) beststeps=(*steps);
491 for(
int skip_range_check=0;skip_range_check<=1;++skip_range_check) {
493 if(!skip_range_check) {
497 if(
steps) intsteps=(*steps);
500 cout<<
"CaloGeometry::getDDE : check map"<<j<<
" skip_range_check="<<skip_range_check<<endl;
505 cout<<
"CaloGeometry::getDDE : map"<<j<<
" dist="<<newdist<<
" best dist="<<*
distance<<
" steps="<<intsteps<<endl;
510 if(
steps) beststeps=intsteps;
511 if(newdist<-0.1)
break;
◆ getDDE() [3/3]
◆ GetFCAL_ChannelMap()
◆ getFCalDDE()
const CaloDetDescrElement * CaloGeometry::getFCalDDE |
( |
int |
sampling, |
|
|
float |
x, |
|
|
float |
y, |
|
|
float |
z, |
|
|
float * |
distance = 0 , |
|
|
int * |
steps = 0 |
|
) |
| |
|
virtualinherited |
Implements ICaloGeometry.
Definition at line 550 of file CaloGeometry.cxx.
551 int isam = sampling - 20;
552 int iphi(-100000),ieta(-100000);
553 Long64_t mask1[]{0x34,0x34,0x35};
554 Long64_t mask2[]{0x36,0x36,0x37};
562 cout <<
"Error: Unable to find the closest FCal cell!" << endl;
568 Long64_t
id = (ieta << 5) + 2*iphi;
569 if(isam==2)
id+= (8<<8);
573 if(
z>0)
id+=(mask2[isam-1] << 12);
574 else id+=(mask1[isam-1] << 12);
584 float distanceX = abs(foundcell->
x()-
x) - foundcell->
dx()/2;
585 float distanceY = abs(foundcell->
y()-
y) - foundcell->
dy()/2;
◆ GetGraph()
TGraphErrors* CaloGeometry::GetGraph |
( |
unsigned int |
sample | ) |
const |
|
inlineinherited |
◆ InitRZmaps()
void CaloGeometry::InitRZmaps |
( |
| ) |
|
|
protectedvirtualinherited |
Definition at line 197 of file CaloGeometry.cxx.
225 double eta_raw=theDDE->
eta_raw();
257 double drh=theDDE->
dr()/2;
258 double dzh=theDDE->
dz();
265 rz_map_rent[
side][
sample][eta_raw]+=theDDE->
r()-drh;
266 rz_map_zent[
side][
sample][eta_raw]+=theDDE->
z()-dzh*sign_side;
267 rz_map_rext[
side][
sample][eta_raw]+=theDDE->
r()+drh;
268 rz_map_zext[
side][
sample][eta_raw]+=theDDE->
z()+dzh*sign_side;
283 double eta_raw=iter->first;
310 std::cout<<
"rz-map for side="<<
side<<
" sample="<<
sample<<
" is empty!!!"<<std::endl;
323 double eta_raw=iter->first;
325 if(eta_raw>0) sign_side=+1;
◆ isCaloBarrel()
bool CaloGeometry::isCaloBarrel |
( |
int |
sample | ) |
const |
|
inlinevirtualinherited |
◆ LoadFCalGeometryFromFiles()
bool CaloGeometryFromFile::LoadFCalGeometryFromFiles |
( |
const std::array< std::string, 3 > & |
fileNames | ) |
|
Definition at line 184 of file CaloGeometryFromFile.cxx.
186 std::vector<std::unique_ptr<std::istream>> electrodes;
187 std::vector<std::unique_ptr<std::streambuf>> electrodesBuf;
188 electrodes.reserve(3);
189 electrodesBuf.reserve(3);
193 #ifdef ENABLE_XROOTD_SUPPORT
194 if (
file.find(
"root://") != std::string::npos) {
195 electrodesBuf.emplace_back(std::make_unique<XrdStreamBuf>(
file));
196 electrodes.emplace_back(std::make_unique<std::istream>(electrodesBuf.back().get()));
199 std::unique_ptr<std::ifstream> directStream = std::make_unique<std::ifstream>(
file);
200 if (!directStream->is_open()) {
201 std::cout <<
"Error: Could not open " <<
file << std::endl;
202 throw std::runtime_error(
"Could not open file");
204 electrodes.push_back(std::move(directStream));
205 #ifdef ENABLE_XROOTD_SUPPORT
220 std::string seventh_column;
221 std::string eight_column;
225 for (
int imodule = 1; imodule <= 3; imodule++) {
226 std::cout <<
"Loading FCal electrode #" << imodule << std::endl;
231 (*electrodes[imodule - 1]) >> tubeName;
232 if (electrodes[imodule - 1]->eof())
234 (*electrodes[imodule - 1]) >> thisTubeId;
235 (*electrodes[imodule - 1]) >> thisTubeI;
236 (*electrodes[imodule - 1]) >> thisTubeJ;
237 (*electrodes[imodule - 1]) >> thisTubeX;
238 (*electrodes[imodule - 1]) >> thisTubeY;
239 (*electrodes[imodule - 1]) >> seventh_column;
240 (*electrodes[imodule - 1]) >> eight_column;
241 (*electrodes[imodule - 1]) >> ninth_column;
243 tubeName.ReplaceAll(
"'",
"");
244 std::string tubeNamestring = tubeName.Data();
246 std::istringstream tileStream1(std::string(tubeNamestring, 1, 1));
247 std::istringstream tileStream2(std::string(tubeNamestring, 3, 2));
248 std::istringstream tileStream3(std::string(tubeNamestring, 6, 3));
249 int a1 = 0, a2 = 0, a3 = 0;
260 thisTubeJ, thisTubeX, thisTubeY,
270 electrodesBuf.clear();
◆ LoadGeometryFromFile()
bool CaloGeometryFromFile::LoadGeometryFromFile |
( |
const std::string & |
fileName, |
|
|
const std::string & |
treeName, |
|
|
const std::string & |
hashFileName = "/eos/atlas/atlascerngroupdisk/proj-simul/" "CaloGeometry/cellId_vs_cellHashId_map.txt" |
|
) |
| |
Definition at line 23 of file CaloGeometryFromFile.cxx.
27 std::map<uint64_t, uint64_t> cellId_vs_cellHashId_map;
29 std::unique_ptr<std::istream> hashStream{};
30 std::unique_ptr<std::streambuf> hashStreamBuf{};
31 #ifdef ENABLE_XROOTD_SUPPORT
32 if (hashFileName.find(
"root://") != std::string::npos) {
33 hashStreamBuf = std::make_unique<XrdStreamBuf>(hashFileName);
34 hashStream = std::make_unique<std::istream>(hashStreamBuf.get());
37 std::unique_ptr<std::ifstream> hashStreamDirect = std::make_unique<std::ifstream>(hashFileName);
38 if (!hashStreamDirect->is_open()) {
39 std::cout <<
"Error: Could not open " << hashFileName << std::endl;
40 throw std::runtime_error(
"Could not open file");
42 hashStream = std::move(hashStreamDirect);
43 #ifdef ENABLE_XROOTD_SUPPORT
47 std::cout <<
"Loading cellId_vs_cellHashId_map" << std::endl;
51 while (!hashStream->eof()) {
54 *hashStream >>
id >> hash_id;
55 cellId_vs_cellHashId_map[
id] = hash_id;
57 std::cout <<
"Line: " <<
i <<
" id " << std::hex <<
id <<
" hash_id "
58 << std::dec << hash_id << std::endl;
61 std::cout <<
"Done." << std::endl;
63 auto f = std::unique_ptr<TFile>(TFile::Open(
fileName.c_str()));
65 std::cerr <<
"Error: Could not open file '" <<
fileName <<
"'" << std::endl;
77 TBranch *b_identifier;
78 TBranch *b_calosample;
98 fChain->SetMakeClass(1);
99 fChain->SetBranchAddress(
"identifier", &
cell.m_identify, &b_identifier);
100 fChain->SetBranchAddress(
"calosample", &
cell.m_calosample, &b_calosample);
101 fChain->SetBranchAddress(
"eta", &
cell.m_eta, &b_eta);
102 fChain->SetBranchAddress(
"phi", &
cell.m_phi, &b_phi);
103 fChain->SetBranchAddress(
"r", &
cell.m_r, &b_r);
104 fChain->SetBranchAddress(
"eta_raw", &
cell.m_eta_raw, &b_eta_raw);
105 fChain->SetBranchAddress(
"phi_raw", &
cell.m_phi_raw, &b_phi_raw);
106 fChain->SetBranchAddress(
"r_raw", &
cell.m_r_raw, &b_r_raw);
107 fChain->SetBranchAddress(
"x", &
cell.m_x, &b_x);
108 fChain->SetBranchAddress(
"y", &
cell.m_y, &b_y);
109 fChain->SetBranchAddress(
"z", &
cell.m_z, &b_z);
110 fChain->SetBranchAddress(
"x_raw", &
cell.m_x_raw, &b_x_raw);
111 fChain->SetBranchAddress(
"y_raw", &
cell.m_y_raw, &b_y_raw);
112 fChain->SetBranchAddress(
"z_raw", &
cell.m_z_raw, &b_z_raw);
113 fChain->SetBranchAddress(
"deta", &
cell.m_deta, &b_deta);
114 fChain->SetBranchAddress(
"dphi", &
cell.m_dphi, &b_dphi);
115 fChain->SetBranchAddress(
"dr", &
cell.m_dr, &b_dr);
116 fChain->SetBranchAddress(
"dx", &
cell.m_dx, &b_dx);
117 fChain->SetBranchAddress(
"dy", &
cell.m_dy, &b_dy);
118 fChain->SetBranchAddress(
"dz", &
cell.m_dz, &b_dz);
120 Long64_t
nentries = fChain->GetEntriesFast();
121 for (Long64_t jentry = 0; jentry <
nentries; jentry++) {
122 Long64_t ientry = fChain->LoadTree(jentry);
125 fChain->GetEntry(jentry);
127 if (cellId_vs_cellHashId_map.find(
cell.m_identify)
128 != cellId_vs_cellHashId_map.end()) {
129 cell.m_hash_id = cellId_vs_cellHashId_map[
cell.m_identify];
130 if (
cell.m_hash_id != jentry)
131 std::cout << jentry <<
" : ERROR hash=" <<
cell.m_hash_id << std::endl;
133 std::cout << std::endl
134 <<
"ERROR: Cell id not found in the cellId_vs_cellHashId_map!!!"
141 if (jentry % 25000 == 0) {
142 std::cout <<
"Checking loading cells from file" << std::endl
152 std::cout <<
"Result of PostProcessGeometry(): " << ok << std::endl;
155 unsigned long long cellid64(3179554531063103488);
159 std::cout <<
"\n \n";
160 std::cout <<
"Testing whether CaloGeoGeometry is loaded properly"
163 std::cout <<
"Cell is not found" << std::endl;
166 std::cout <<
"Identifier " <<
mcell->identify() <<
" sampling "
167 <<
mcell->getSampling() <<
" eta: " <<
mcell->eta()
168 <<
" phi: " <<
mcell->phi() <<
" CaloDetDescrElement=" <<
mcell
174 std::cout <<
"Identifier " << mcell2->
identify() <<
" sampling "
176 <<
" phi: " << mcell2->
phi() <<
" CaloDetDescrElement=" << mcell2
◆ minmaxeta()
void CaloGeometry::minmaxeta |
( |
int |
sample, |
|
|
double |
eta, |
|
|
double & |
mineta, |
|
|
double & |
maxeta |
|
) |
| const |
|
virtualinherited |
◆ post_process()
void CaloGeometry::post_process |
( |
int |
layer | ) |
|
|
protectedvirtualinherited |
Definition at line 121 of file CaloGeometry.cxx.
124 bool found_overlap=
false;
192 cout<<
"Run another round of ";
◆ PostProcessGeometry()
bool CaloGeometry::PostProcessGeometry |
( |
| ) |
|
|
virtualinherited |
◆ PrintMapInfo()
void CaloGeometry::PrintMapInfo |
( |
int |
i, |
|
|
int |
j |
|
) |
| |
|
virtualinherited |
◆ rent()
double CaloGeometry::rent |
( |
int |
sample, |
|
|
double |
eta |
|
) |
| const |
|
virtualinherited |
◆ rext()
double CaloGeometry::rext |
( |
int |
sample, |
|
|
double |
eta |
|
) |
| const |
|
virtualinherited |
◆ rmid()
double CaloGeometry::rmid |
( |
int |
sample, |
|
|
double |
eta |
|
) |
| const |
|
virtualinherited |
◆ rpos()
◆ rzent()
double CaloGeometry::rzent |
( |
int |
sample, |
|
|
double |
eta |
|
) |
| const |
|
virtualinherited |
◆ rzext()
double CaloGeometry::rzext |
( |
int |
sample, |
|
|
double |
eta |
|
) |
| const |
|
virtualinherited |
◆ rzmid()
double CaloGeometry::rzmid |
( |
int |
sample, |
|
|
double |
eta |
|
) |
| const |
|
virtualinherited |
◆ rzpos()
◆ SamplingName()
std::string CaloGeometry::SamplingName |
( |
int |
sample | ) |
|
|
staticinherited |
◆ SetDoGraphs()
void CaloGeometry::SetDoGraphs |
( |
bool |
dographs = true | ) |
|
|
inlineinherited |
◆ SetFCal_ChannelMap()
◆ zent()
double CaloGeometry::zent |
( |
int |
sample, |
|
|
double |
eta |
|
) |
| const |
|
virtualinherited |
◆ zext()
double CaloGeometry::zext |
( |
int |
sample, |
|
|
double |
eta |
|
) |
| const |
|
virtualinherited |
◆ zmid()
double CaloGeometry::zmid |
( |
int |
sample, |
|
|
double |
eta |
|
) |
| const |
|
virtualinherited |
◆ zpos()
◆ m_cells
◆ m_cells_in_regions
◆ m_cells_in_sampling
std::vector< t_cellmap > CaloGeometry::m_cells_in_sampling |
|
protectedinherited |
◆ m_cells_in_sampling_for_phi0
std::vector< t_eta_cellmap > CaloGeometry::m_cells_in_sampling_for_phi0 |
|
protectedinherited |
◆ m_debug
std::atomic< bool > CaloGeometry::m_debug =false |
|
staticinherited |
◆ m_debug_identify
◆ m_dographs
bool CaloGeometry::m_dographs |
|
protectedinherited |
◆ m_FCal_ChannelMap
◆ m_FCal_rmax
std::vector<double> CaloGeometry::m_FCal_rmax |
|
protectedinherited |
◆ m_FCal_rmin
std::vector<double> CaloGeometry::m_FCal_rmin |
|
protectedinherited |
◆ m_graph_layers
std::vector< TGraphErrors* > CaloGeometry::m_graph_layers |
|
protectedinherited |
◆ m_isCaloBarrel
std::vector< bool > CaloGeometry::m_isCaloBarrel |
|
protectedinherited |
◆ m_max_eta_sample
std::vector< double > CaloGeometry::m_max_eta_sample[2] |
|
protectedinherited |
◆ m_min_eta_sample
std::vector< double > CaloGeometry::m_min_eta_sample[2] |
|
protectedinherited |
◆ m_rent_map
std::vector< FSmap< double , double > > CaloGeometry::m_rent_map[2] |
|
protectedinherited |
◆ m_rext_map
std::vector< FSmap< double , double > > CaloGeometry::m_rext_map[2] |
|
protectedinherited |
◆ m_rmid_map
std::vector< FSmap< double , double > > CaloGeometry::m_rmid_map[2] |
|
protectedinherited |
◆ m_zent_map
std::vector< FSmap< double , double > > CaloGeometry::m_zent_map[2] |
|
protectedinherited |
◆ m_zext_map
std::vector< FSmap< double , double > > CaloGeometry::m_zext_map[2] |
|
protectedinherited |
◆ m_zmid_map
std::vector< FSmap< double , double > > CaloGeometry::m_zmid_map[2] |
|
protectedinherited |
◆ MAX_SAMPLING
The documentation for this class was generated from the following files:
float deta() const
cell deta
JetConstituentVector::iterator iterator
bool checkFCalGeometryConsistency()
virtual bool PostProcessGeometry()
std::vector< double > m_max_eta_sample[2]
virtual void post_process(int layer)
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.
TGraph * DrawGeoSampleForPhi0(int sample, int calocol, bool print=false)
double rent(int sample, double eta) const
static const int MAX_SAMPLING
std::vector< TGraphErrors * > m_graph_layers
std::vector< double > m_FCal_rmax
Scalar phi() const
phi method
const unsigned short lookup[2401]
std::string find(const std::string &s)
return a remapped string
bool isCaloBarrel(int sample) const
tileMap_const_iterator end(int isam) const
std::vector< FSmap< double, double > > m_zext_map[2]
Scalar eta() const
pseudorapidity method
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
void add_tube(const std::string &tileName, int mod, int id, int i, int j, double xCm, double yCm)
virtual void addcell(const CaloDetDescrElement *cell)
double zmid(int sample, double eta) const
void calculateFCalRminRmax()
double rext(int sample, double eta) const
std::vector< FSmap< double, double > > m_rent_map[2]
float eta_raw() const
cell eta_raw
FCAL_ChannelMap m_FCal_ChannelMap
double zent(int sample, double eta) const
static std::string SamplingName(int sample)
Identifier identify() const override final
cell identifier
std::vector< FSmap< double, double > > m_rmid_map[2]
bool getClosestFCalCellIndex(int sampling, float x, float y, int &ieta, int &iphi, int *steps=0)
std::vector< FSmap< double, double > > m_rext_map[2]
std::vector< double > m_FCal_rmin
std::map< _Key, _Tp >::iterator iterator
bool getTileID(int isam, float x, float y, int &eta, int &phi) const
-— For the new LArFCAL_ID Identifier
std::vector< double > m_min_eta_sample[2]
void merge_into_ref(CaloGeometryLookup *ref)
void print(char *figname, TCanvas *c1)
std::vector< t_eta_cellmap > m_cells_in_sampling_for_phi0
const int CaloGeometry_calocol[24]
static std::atomic< bool > m_debug
std::vector< FSmap< double, double > > m_zmid_map[2]
std::vector< t_cellmap > m_cells_in_sampling
virtual const CaloDetDescrElement * getDDE(Identifier identify)
CaloCell_ID::CaloSample getSampling() const
cell sampling
double deta(int sample, double eta) const
virtual void InitRZmaps()
tileMap_const_iterator begin(int isam) const
float eta() const
cell eta
std::vector< std::vector< CaloGeometryLookup * > > m_cells_in_regions
float phi() const
cell phi
void tileSize(int sam, int eta, int phi, float &dx, float &dy) const
std::vector< FSmap< double, double > > m_zent_map[2]
static std::string getSamplingName(CaloSample theSample)
Returns a string (name) for each CaloSampling.
double zext(int sample, double eta) const
double rmid(int sample, double eta) const
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
std::vector< bool > m_isCaloBarrel