|
|
#include <MaterialBudgetHcalHistos.h>
Definition at line 22 of file MaterialBudgetHcalHistos.h.
◆ MaterialBudgetHcalHistos()
Definition at line 20 of file MaterialBudgetHcalHistos.cc.
21 binEta_ =
p.getUntrackedParameter<
int>(
"NBinEta", 260);
22 binPhi_ =
p.getUntrackedParameter<
int>(
"NBinPhi", 180);
23 maxEta_ =
p.getUntrackedParameter<
double>(
"MaxEta", 5.2);
24 etaLow_ =
p.getUntrackedParameter<
double>(
"EtaLow", -5.2);
25 etaHigh_ =
p.getUntrackedParameter<
double>(
"EtaHigh", 5.2);
26 fillHistos_ =
p.getUntrackedParameter<
bool>(
"FillHisto",
true);
27 printSum_ =
p.getUntrackedParameter<
bool>(
"PrintSummary",
false);
28 etaMinP_ =
p.getUntrackedParameter<
double>(
"EtaMinP", 5.2);
29 etaMaxP_ =
p.getUntrackedParameter<
double>(
"EtaMaxP", 0.0);
30 etaLowMin_ =
p.getUntrackedParameter<
double>(
"EtaLowMin", 0.783);
31 etaLowMax_ =
p.getUntrackedParameter<
double>(
"EtaLowMax", 0.870);
32 etaMidMin_ =
p.getUntrackedParameter<
double>(
"EtaMidMin", 2.650);
33 etaMidMax_ =
p.getUntrackedParameter<
double>(
"EtaMidMax", 2.868);
34 etaHighMin_ =
p.getUntrackedParameter<
double>(
"EtaHighMin", 2.868);
35 etaHighMax_ =
p.getUntrackedParameter<
double>(
"EtaHighMax", 3.000);
38 <<
maxEta_ <<
" Phi plot: NX " <<
binPhi_ <<
" Range " << -1._pi <<
":" << 1._pi
References AlCaHLTBitMon_ParallelJobs::p.
◆ ~MaterialBudgetHcalHistos()
virtual MaterialBudgetHcalHistos::~MaterialBudgetHcalHistos |
( |
| ) |
|
|
inlinevirtual |
◆ book()
void MaterialBudgetHcalHistos::book |
( |
| ) |
|
|
private |
Definition at line 307 of file MaterialBudgetHcalHistos.cc.
311 if (!
tfile.isAvailable())
313 <<
"please add it to config file";
326 iter = std::to_string(
i);
328 std::to_string(
i + 100).c_str(), (
"MB(X0) prof Eta in region " + iter).c_str(),
binEta_, -
maxEta_,
maxEta_);
330 std::to_string(
i + 200).c_str(), (
"MB(L0) prof Eta in region " + iter).c_str(),
binEta_, -
maxEta_,
maxEta_);
332 std::to_string(
i + 300).c_str(), (
"MB(Step) prof Eta in region " + iter).c_str(),
binEta_, -
maxEta_,
maxEta_);
336 std::to_string(
i + 500).c_str(), (
"MB(X0) prof Ph in region " + iter).c_str(),
binPhi_, -
maxPhi,
maxPhi);
338 std::to_string(
i + 600).c_str(), (
"MB(L0) prof Ph in region " + iter).c_str(),
binPhi_, -
maxPhi,
maxPhi);
340 std::to_string(
i + 700).c_str(), (
"MB(Step) prof Ph in region " + iter).c_str(),
binPhi_, -
maxPhi,
maxPhi);
343 me900[
i] =
tfile->make<TProfile2D>(std::to_string(
i + 900).c_str(),
344 (
"MB(X0) prof Eta Phi in region " + iter).c_str(),
351 me1000[
i] =
tfile->make<TProfile2D>(std::to_string(
i + 1000).c_str(),
352 (
"MB(L0) prof Eta Phi in region " + iter).c_str(),
359 me1100[
i] =
tfile->make<TProfile2D>(std::to_string(
i + 1100).c_str(),
360 (
"MB(Step) prof Eta Phi in region " + iter).c_str(),
367 me1200[
i] =
tfile->make<TH2F>(std::to_string(
i + 1200).c_str(),
368 (
"Eta vs Phi in region " + iter).c_str(),
375 me1600[
i] =
tfile->make<TProfile>(std::to_string(
i + 1600).c_str(),
376 (
"MB(X0) prof Ph in region " + range0 + iter).c_str(),
380 me1700[
i] =
tfile->make<TProfile>(std::to_string(
i + 1700).c_str(),
381 (
"MB(L0) prof Ph in region " + range0 + iter).c_str(),
385 me1800[
i] =
tfile->make<TProfile>(std::to_string(
i + 1800).c_str(),
386 (
"MB(Step) prof Ph in region " + range0 + iter).c_str(),
390 me1900[
i] =
tfile->make<TProfile>(std::to_string(
i + 1900).c_str(),
391 (
"MB(X0) prof Ph in region " + range1 + iter).c_str(),
395 me2000[
i] =
tfile->make<TProfile>(std::to_string(
i + 2000).c_str(),
396 (
"MB(L0) prof Ph in region " + range1 + iter).c_str(),
400 me2100[
i] =
tfile->make<TProfile>(std::to_string(
i + 2100).c_str(),
401 (
"MB(Step) prof Ph in region " + range1 + iter).c_str(),
405 me2200[
i] =
tfile->make<TProfile>(std::to_string(
i + 2200).c_str(),
406 (
"MB(X0) prof Ph in region " + range2 + iter).c_str(),
410 me2300[
i] =
tfile->make<TProfile>(std::to_string(
i + 2300).c_str(),
411 (
"MB(L0) prof Ph in region " + range2 + iter).c_str(),
415 me2400[
i] =
tfile->make<TProfile>(std::to_string(
i + 2400).c_str(),
416 (
"MB(Step) prof Ph in region " + range2 + iter).c_str(),
422 iter = std::to_string(
i);
423 me1300[
i] =
tfile->make<TH1F>(std::to_string(
i + 1300).c_str(),
424 (
"Events with layers Hit (0 all, 1 HB, ..) for " + iter).c_str(),
428 me1400[
i] =
tfile->make<TH2F>(std::to_string(
i + 1400).c_str(),
429 (
"Eta vs Phi for layers hit in " + iter).c_str(),
436 me1500[
i] =
tfile->make<TProfile>(std::to_string(
i + 1500).c_str(),
437 (
"Number of layers crossed (0 all, 1 HB, ..) for " + iter).c_str(),
443 edm::LogVerbatim(
"MaterialBudget") <<
"MaterialBudgetHcalHistos: Booking user histos done ===";
References mps_fire::i, HLT_FULL_cff::maxPhi, AlCaHLTBitMon_QueryRunRegistry::string, and compare::tfile.
◆ fillBeginJob() [1/2]
◆ fillBeginJob() [2/2]
void MaterialBudgetHcalHistos::fillBeginJob |
( |
const DDCompactView & |
cpv | ) |
|
◆ fillEndTrack()
void MaterialBudgetHcalHistos::fillEndTrack |
( |
| ) |
|
◆ fillHisto()
void MaterialBudgetHcalHistos::fillHisto |
( |
int |
ii | ) |
|
|
private |
◆ fillLayer()
void MaterialBudgetHcalHistos::fillLayer |
( |
| ) |
|
|
private |
◆ fillPerStep()
void MaterialBudgetHcalHistos::fillPerStep |
( |
const G4Step * |
aStep | ) |
|
Definition at line 169 of file MaterialBudgetHcalHistos.cc.
170 G4Material* material = aStep->GetPreStepPoint()->GetMaterial();
171 double step = aStep->GetStepLength();
172 double radl = material->GetRadlen();
173 double intl = material->GetNuclearInterLength();
177 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
178 std::string name = (static_cast<std::string>(dd4hep::dd::noNamespace(touch->GetVolume(0)->GetName())));
179 std::string matName = (static_cast<std::string>(dd4hep::dd::noNamespace(material->GetName())));
199 <<
" Material " << matName <<
" Old Length " <<
stepLen_ <<
" X0 "
205 << idOld <<
" Length " <<
step <<
" in " << matName <<
" of density "
206 <<
density <<
" g/cc; Radiation Length " << radl <<
" mm; Interaction Length "
207 << intl <<
" mm\n Position "
208 << aStep->GetPreStepPoint()->GetPosition() <<
" Cylindrical R "
209 << aStep->GetPreStepPoint()->GetPosition().perp() <<
" Length (so far) "
214 int det = 0, lay = 0;
228 det = (touch->GetReplicaNumber(1)) / 1000;
229 lay = (touch->GetReplicaNumber(0) / 10) % 100 + 3;
243 }
else if (lay !=
layer_) {
250 edm::LogVerbatim(
"MaterialBudgetFull") <<
"MaterialBudgetHcalHistos: Det " << det <<
" Layer " << lay <<
" Eta "
267 <<
"MaterialBudgetHcalHistos: Step at " <<
name <<
" calls filHisto with " << (
id_ - 1);
277 if (!
isItHF(aStep->GetPostStepPoint()->GetTouchable())) {
280 << static_cast<std::string>(dd4hep::dd::noNamespace(
281 aStep->GetPostStepPoint()->GetTouchable()->GetVolume(0)->GetName()))
282 <<
" calls fillHisto with " <<
id_;
References funct::abs(), angle_units::operators::convertRadToDeg(), geant_units::operators::convertUnitsTo(), fastSimProducer_cff::density, newFWLiteAna::found, cuy::ii, sistrip::layer_, Skims_PA_cff::name, and AlCaHLTBitMon_QueryRunRegistry::string.
◆ fillStartTrack()
void MaterialBudgetHcalHistos::fillStartTrack |
( |
const G4Track * |
aTrack | ) |
|
◆ getDDDArray()
std::vector< double > MaterialBudgetHcalHistos::getDDDArray |
( |
const std::string & |
str, |
|
|
const DDsvalues_type & |
sv |
|
) |
| |
|
private |
◆ getNames() [1/2]
◆ getNames() [2/2]
std::vector< std::string > MaterialBudgetHcalHistos::getNames |
( |
DDFilteredView & |
fv | ) |
|
|
private |
◆ hend()
void MaterialBudgetHcalHistos::hend |
( |
| ) |
|
|
private |
◆ isItEC()
bool MaterialBudgetHcalHistos::isItEC |
( |
std::string |
name | ) |
|
|
private |
◆ isItHF()
bool MaterialBudgetHcalHistos::isItHF |
( |
const G4VTouchable * |
touch | ) |
|
|
private |
◆ isSensitive()
bool MaterialBudgetHcalHistos::isSensitive |
( |
std::string |
name | ) |
|
|
private |
◆ binEta_
int MaterialBudgetHcalHistos::binEta_ |
|
private |
◆ binPhi_
int MaterialBudgetHcalHistos::binPhi_ |
|
private |
◆ eta_
double MaterialBudgetHcalHistos::eta_ |
|
private |
◆ etaHigh_
double MaterialBudgetHcalHistos::etaHigh_ |
|
private |
◆ etaHighMax_
double MaterialBudgetHcalHistos::etaHighMax_ |
|
private |
◆ etaHighMin_
double MaterialBudgetHcalHistos::etaHighMin_ |
|
private |
◆ etaLow_
double MaterialBudgetHcalHistos::etaLow_ |
|
private |
◆ etaLowMax_
double MaterialBudgetHcalHistos::etaLowMax_ |
|
private |
◆ etaLowMin_
double MaterialBudgetHcalHistos::etaLowMin_ |
|
private |
◆ etaMaxP_
double MaterialBudgetHcalHistos::etaMaxP_ |
|
private |
◆ etaMidMax_
double MaterialBudgetHcalHistos::etaMidMax_ |
|
private |
◆ etaMidMin_
double MaterialBudgetHcalHistos::etaMidMin_ |
|
private |
◆ etaMinP_
double MaterialBudgetHcalHistos::etaMinP_ |
|
private |
◆ fillHistos_
bool MaterialBudgetHcalHistos::fillHistos_ |
|
private |
◆ hfLevels_
std::vector<int> MaterialBudgetHcalHistos::hfLevels_ |
|
private |
◆ hfNames_
std::vector<std::string> MaterialBudgetHcalHistos::hfNames_ |
|
private |
◆ id_
int MaterialBudgetHcalHistos::id_ |
|
private |
◆ intLen_
double MaterialBudgetHcalHistos::intLen_ |
|
private |
◆ intLength_
std::vector<double> MaterialBudgetHcalHistos::intLength_ |
|
private |
◆ layer_
int MaterialBudgetHcalHistos::layer_ |
|
private |
◆ matList_
std::vector<std::string> MaterialBudgetHcalHistos::matList_ |
|
private |
◆ maxEta_
double MaterialBudgetHcalHistos::maxEta_ |
|
private |
◆ maxSet2_
const int MaterialBudgetHcalHistos::maxSet2_ = 9 |
|
staticprivate |
◆ maxSet_
const int MaterialBudgetHcalHistos::maxSet_ = 25 |
|
staticprivate |
◆ me100
TProfile* MaterialBudgetHcalHistos::me100[maxSet_] |
|
private |
◆ me1000
TProfile2D * MaterialBudgetHcalHistos::me1000[maxSet_] |
|
private |
◆ me1100
TProfile2D * MaterialBudgetHcalHistos::me1100[maxSet_] |
|
private |
◆ me1200
TH2F* MaterialBudgetHcalHistos::me1200[maxSet_] |
|
private |
◆ me1300
TH1F * MaterialBudgetHcalHistos::me1300[maxSet2_] |
|
private |
◆ me1400
TH2F * MaterialBudgetHcalHistos::me1400[maxSet2_] |
|
private |
◆ me1500
TProfile* MaterialBudgetHcalHistos::me1500[maxSet2_] |
|
private |
◆ me1600
TProfile* MaterialBudgetHcalHistos::me1600[maxSet_] |
|
private |
◆ me1700
TProfile * MaterialBudgetHcalHistos::me1700[maxSet_] |
|
private |
◆ me1800
TProfile * MaterialBudgetHcalHistos::me1800[maxSet_] |
|
private |
◆ me1900
TProfile* MaterialBudgetHcalHistos::me1900[maxSet_] |
|
private |
◆ me200
TProfile * MaterialBudgetHcalHistos::me200[maxSet_] |
|
private |
◆ me2000
TProfile * MaterialBudgetHcalHistos::me2000[maxSet_] |
|
private |
◆ me2100
TProfile * MaterialBudgetHcalHistos::me2100[maxSet_] |
|
private |
◆ me2200
TProfile* MaterialBudgetHcalHistos::me2200[maxSet_] |
|
private |
◆ me2300
TProfile * MaterialBudgetHcalHistos::me2300[maxSet_] |
|
private |
◆ me2400
TProfile * MaterialBudgetHcalHistos::me2400[maxSet_] |
|
private |
◆ me300
TProfile * MaterialBudgetHcalHistos::me300[maxSet_] |
|
private |
◆ me400
TH1F* MaterialBudgetHcalHistos::me400[maxSet_] |
|
private |
◆ me500
TProfile* MaterialBudgetHcalHistos::me500[maxSet_] |
|
private |
◆ me600
TProfile * MaterialBudgetHcalHistos::me600[maxSet_] |
|
private |
◆ me700
TProfile * MaterialBudgetHcalHistos::me700[maxSet_] |
|
private |
◆ me800
TH1F * MaterialBudgetHcalHistos::me800[maxSet_] |
|
private |
◆ me900
TProfile2D* MaterialBudgetHcalHistos::me900[maxSet_] |
|
private |
◆ nlayHB_
int MaterialBudgetHcalHistos::nlayHB_ |
|
private |
◆ nlayHE_
int MaterialBudgetHcalHistos::nlayHE_ |
|
private |
◆ nlayHF_
int MaterialBudgetHcalHistos::nlayHF_ |
|
private |
◆ nlayHO_
int MaterialBudgetHcalHistos::nlayHO_ |
|
private |
◆ phi_
double MaterialBudgetHcalHistos::phi_ |
|
private |
◆ printSum_
bool MaterialBudgetHcalHistos::printSum_ |
|
private |
◆ radLen_
double MaterialBudgetHcalHistos::radLen_ |
|
private |
◆ radLength_
std::vector<double> MaterialBudgetHcalHistos::radLength_ |
|
private |
◆ sensitiveEC_
std::vector<std::string> MaterialBudgetHcalHistos::sensitiveEC_ |
|
private |
◆ sensitives_
std::vector<std::string> MaterialBudgetHcalHistos::sensitives_ |
|
private |
◆ stepLen_
double MaterialBudgetHcalHistos::stepLen_ |
|
private |
◆ stepLength_
std::vector<double> MaterialBudgetHcalHistos::stepLength_ |
|
private |
◆ steps_
int MaterialBudgetHcalHistos::steps_ |
|
private |
TProfile * me2100[maxSet_]
TProfile * me1800[maxSet_]
TProfile * me2300[maxSet_]
TProfile2D * me1100[maxSet_]
std::vector< std::string > getNames(DDFilteredView &fv)
TProfile * me300[maxSet_]
constexpr NumType convertRadToDeg(NumType radians)
constexpr NumType convertUnitsTo(long double desiredUnits, NumType val)
std::vector< std::string > sensitiveEC_
const DDLogicalPart & logicalPart() const
The logical-part of the current node in the filtered-view.
TProfile * me700[maxSet_]
std::vector< int > hfLevels_
bool isItHF(const G4VTouchable *)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::string_view name() const
bool firstChild()
set the current node to the first child ...
static const int maxSet2_
TProfile * me2200[maxSet_]
std::vector< double > stepLength_
TProfile * me2400[maxSet_]
bool next()
set current node to the next node in the filtered tree
bool firstChild()
set the current node to the first child
bool DDfetch(const DDsvalues_type *, DDValue &)
helper for retrieving DDValues from DDsvalues_type *.
TProfile2D * me1000[maxSet_]
TProfile * me1900[maxSet_]
std::vector< double > intLength_
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
TProfile * me600[maxSet_]
TProfile * me200[maxSet_]
TProfile * me1700[maxSet_]
std::vector< double > radLength_
TProfile * me1500[maxSet2_]
Log< level::Info, true > LogVerbatim
TProfile * me2000[maxSet_]
std::vector< std::string > sensitives_
TProfile2D * me900[maxSet_]
bool isSensitive(std::string)
Abs< T >::type abs(const T &t)
TProfile * me1600[maxSet_]
TProfile * me500[maxSet_]
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
std::vector< double > getDDDArray(const std::string &str, const DDsvalues_type &sv)
std::vector< std::string > matList_
TProfile * me100[maxSet_]
std::vector< std::string > hfNames_