14 #include <svd/modules/svdPerformance/SVDMaxStripTTreeModule.h>
15 #include <hlt/softwaretrigger/core/FinalTriggerDecisionCalculator.h>
17 #include <vxd/dataobjects/VxdID.h>
18 #include <vxd/geometry/GeoCache.h>
22 using namespace SoftwareTrigger;
28 setDescription(
"The module is used to create a TTree to study the number of strips per APV per event.");
29 addParam(
"outputFileName", m_rootFileName,
"Name of output root file.", std::string(
"SVDMaxStripTTree.root"));
30 addParam(
"ShaperDigits", m_shapersStoreArrayName,
"StoreArray name of the input ShaperDigits.",
31 m_shapersStoreArrayName);
32 addParam(
"skipHLTRejectedEvents", m_skipRejectedEvents,
"If TRUE skip events rejected by HLT",
bool(
true));
37 m_shapers.isRequired(m_shapersStoreArrayName);
39 m_rootFilePtr =
new TFile(m_rootFileName.c_str(),
"RECREATE");
42 m_t =
new TTree(
"tree",
"Tree for SVD u/v-strips");
43 m_t->Branch(
"evt", &m_event,
"evt/i");
44 m_t->Branch(
"svdLayer", &m_svdLayer,
"svdLayer/i");
45 m_t->Branch(
"svdLadder", &m_svdLadder,
"svdLadder/i");
46 m_t->Branch(
"svdSensor", &m_svdSensor,
"svdSensor/i");
47 m_t->Branch(
"svdSide", &m_svdSide,
"svdSide/i");
48 m_t->Branch(
"svdChip", &m_svdChip,
"svdChip/i");
49 m_t->Branch(
"svdHits", &m_svdHits,
"svdHits/i");
57 TH1F hHits(
"nHits_L@layerL@ladderS@sensor@view@apv",
58 "Number of Hits per Event in @layer.@ladder.@sensor chip @apv on the @view/@side side",
69 if (m_skipRejectedEvents && (m_resultStoreObjectPointer.isValid())) {
70 const bool eventAccepted = FinalTriggerDecisionCalculator::getFinalTriggerDecision(*m_resultStoreObjectPointer);
71 if (!eventAccepted)
return;
75 for (
const auto& shaper : m_shapers)
76 m_hHits->fill(shaper.getSensorID(), shaper.isUStrip(), shaper.getCellID() / 128, 0);
82 for (
auto ladder : geoCache.getLadders(layer))
85 for (
int apv = 0; apv < 6; apv ++) {
86 m_svdLayer = sensor.getLayerNumber();
87 m_svdLadder = sensor.getLadderNumber();
88 m_svdSensor = sensor.getSensorNumber();
91 m_svdHits = (m_hHits->getHistogram(sensor, view, apv))->GetEntries();
95 (m_hHits->getHistogram(sensor, view, apv))->Reset();
106 if (m_rootFilePtr != NULL) {
109 m_rootFilePtr->Close();