Belle II Software development
CDCTriggerNeuroDQMModule.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <framework/core/HistoModule.h>
12
13#include <framework/datastore/StoreArray.h>
14#include <framework/datastore/StoreObjPtr.h>
15#include <trg/cdc/dataobjects/CDCTriggerTrack.h>
16#include <trg/cdc/dataobjects/CDCTriggerSegmentHit.h>
17#include <trg/cdc/dataobjects/CDCTriggerMLPInput.h>
18#include <tracking/dataobjects/RecoTrack.h>
19#include <framework/dataobjects/BinnedEventT0.h>
20
21#include "TH1F.h"
22#include "TH2F.h"
23
24namespace Belle2 {
31 class CDCTriggerNeuroDQMModule : public HistoModule { // <- derived from HistoModule class
32
33 public:
38
40 virtual void initialize() override;
41 virtual void beginRun() override;
42 virtual void event() override;
43 virtual void endRun() override;
44 virtual void terminate() override;
45
50 virtual void defineHisto() override;
51 struct TSLine {
52 const CDCTriggerSegmentHit* hit;
53 std::string strline;
54 //vector<const CDCTriggerTrack*> relin2dtracks;
55 //vector<const CDCTriggerTrack*> relin2dtracks;
56 explicit TSLine(const CDCTriggerSegmentHit& h)
57 {
58 hit = &h;
59 }
60 };
61 typedef std::vector<TSLine> TSLines;
62
63 private:
65 void condFill(TH1F* histo, float value)
66 {
67 if (value != 0) {
68 histo->Fill(value);
69 }
70 }
72 unsigned getPattern(CDCTriggerTrack* track, std::string hitCollectionName)
73 {
74 unsigned pattern = 0;
75 for (const CDCTriggerSegmentHit& hit : track->getRelationsTo<CDCTriggerSegmentHit>(hitCollectionName)) {
76 unsigned sl = hit.getISuperLayer();
77 if (sl % 2 == 1) pattern |= (1 << ((sl - 1) / 2));
78 }
79 return pattern;
80 }
82 bool isValidPattern(unsigned pattern)
83 {
84 bool valid = false;
85 switch (pattern) {
86 case 7:
87 case 11:
88 case 13:
89 case 14:
90 case 15:
91 valid = true;
92 }
93 return valid;
94 }
95 std::string padto(std::string s, unsigned l)
96 {
97 if (s.size() < l) {
98 s.insert(s.begin(), l - s.size(), ' ');
99 }
100 return s;
101 }
102 std::string padright(std::string s, unsigned l)
103 {
104 if (s.size() < l) {
105 s.insert(s.end(), l - s.size(), ' ');
106 }
107 return s;
108 }
109 bool have_relation(const CDCTriggerTrack& track, const CDCTriggerSegmentHit& hit, std::string& arrayname)
110 {
111 bool related = false;
112 for (const CDCTriggerSegmentHit& ts : track.getRelationsTo<CDCTriggerSegmentHit>(arrayname)) {
113 if (&ts == &hit) {related = true;}
114 }
115 return related;
116 }
117 void sorted_insert(TSLines& lines, TSLine& line, std::string& arrayname, std::string& firstsortarray, std::string& secondsortarray)
118 {
119 bool inserted = false;
120 bool related = false;
121 TSLines::iterator it = lines.begin();
122 for (const CDCTriggerTrack& track : line.hit->getRelationsFrom<CDCTriggerTrack>(firstsortarray)) {
123 if (!inserted) {
124 for (TSLines::iterator i = lines.begin(); i < lines.end(); ++i) {
125 if (i->hit->getISuperLayer() % 2 != line.hit->getISuperLayer() % 2) {
126 continue;
127 }
128 if (have_relation(track, *(i->hit), arrayname)) {
129 it = i;
130 related = true;
131 if (i->hit->getSegmentID() > line.hit->getSegmentID()) {
132 inserted = true;
133 break;
134 }
135 }
136 }
137 } else { break; }
138 }
139 if (related) {
140 if (!inserted) {++it; }
141 lines.insert(it, line);
142 } else {
143 for (const CDCTriggerTrack& track : line.hit->getRelationsFrom<CDCTriggerTrack>(secondsortarray)) {
144 if (!inserted) {
145 for (TSLines::iterator i = it; i < lines.end(); ++i) {
146 if (i->hit->getISuperLayer() % 2 != line.hit->getISuperLayer() % 2) {
147 continue;
148 }
149 if (have_relation(track, *(i->hit), arrayname)) {
150 it = i;
151 related = true;
152 if (i->hit->getSegmentID() > line.hit->getSegmentID()) {
153 inserted = true;
154 break;
155 }
156 }
157 }
158 } else { break; }
159 }
160 if (related) {
161 if (!inserted) {++it; }
162 lines.insert(it, line);
163 } else {
164 lines.push_back(line);
165 }
166 }
167 }
174 // names for unpacked objects
187
188 // names for simulated objects
203
212
214 std::string m_recoTracksName;
215
216
217 // store arrays for direct access
236
247 // histograms for neurotrigger
248 TH1F* m_neuroHWOutZ = nullptr;
249 TH1F* m_neuroHWOutCosTheta = nullptr;
250 TH1F* m_neuroHWOutInvPt = nullptr;
251 TH1F* m_neuroHWOutPt = nullptr;
252 TH1F* m_neuroHWOutPhi0 = nullptr;
253 TH1F* m_neuroHWOutHitPattern = nullptr;
254 TH1F* m_neuroHWOutm_time = nullptr;
255 TH1F* m_neuroHWOutTrackCount = nullptr;
256 TH1F* m_neuroHWSector = nullptr;
258 TH1F* m_neuroHWInInvPt = nullptr;
259 TH1F* m_neuroHWInPhi0 = nullptr;
260 TH1F* m_neuroHWInm_time = nullptr;
261 TH1F* m_neuroHWInTrackCount = nullptr;
264 TH1F* m_2DHWOutInvPt = nullptr;
265 TH1F* m_2DHWOutPhi0 = nullptr;
266 TH1F* m_2DHWOutm_time = nullptr;
267 TH1F* m_2DHWOutTrackCount = nullptr;
270 // hw TS hw 2D sw NN
271 TH1F* m_neuroSWOutZ = nullptr;
272 TH1F* m_neuroSWOutCosTheta = nullptr;
273 TH1F* m_neuroSWOutInvPt = nullptr;
274 TH1F* m_neuroSWOutPhi0 = nullptr;
275 TH1F* m_neuroSWOutHitPattern = nullptr;
276 TH1F* m_neuroSWOutTrackCount = nullptr;
277 TH1F* m_neuroSWSector = nullptr;
280 TH1F* m_2DSWOutInvPt = nullptr;
281 TH1F* m_2DSWOutPhi0 = nullptr;
282 TH1F* m_2DSWOutm_time = nullptr;
283 TH1F* m_2DSWOutTrackCount = nullptr;
285 // sw TS sw 2D sw NN
286 TH1F* m_neuroSWTSSW2DOutZ = nullptr;
288 TH1F* m_neuroSWTSSW2DOutInvPt = nullptr;
289 TH1F* m_neuroSWTSSW2DOutPhi0 = nullptr;
292 TH1F* m_neuroSWTSSW2DSector = nullptr;
294 // hw TS hw 2D sw NN vs hw NN
295 TH1F* m_neuroDeltaZ = nullptr;
296 TH1F* m_neuroDeltaTheta = nullptr;
297 TH2F* m_neuroScatterZ = nullptr;
298 TH2F* m_neuroScatterTheta = nullptr;
300 TH1F* m_neuroDeltaInputID = nullptr;
301 TH1F* m_neuroDeltaInputT = nullptr;
302 TH1F* m_neuroDeltaInputAlpha = nullptr;
303 TH1F* m_neuroDeltaTSID = nullptr;
304 TH1F* m_neuroDeltaSector = nullptr;
305 TH1F* m_simSameTS = nullptr;
306 TH1F* m_simDiffTS = nullptr;
308 // hw NN output for each quadrant
309 TH1F* m_neuroHWOutQuad5Z = nullptr;
311 TH1F* m_neuroHWOutQuad5Phi0 = nullptr;
312 TH1F* m_neuroHWOutQuad5InvPt = nullptr;
313 TH1F* m_neuroHWOutQuad0Z = nullptr;
315 TH1F* m_neuroHWOutQuad0Phi0 = nullptr;
316 TH1F* m_neuroHWOutQuad0InvPt = nullptr;
317 TH1F* m_neuroHWOutQuad1Z = nullptr;
319 TH1F* m_neuroHWOutQuad1Phi0 = nullptr;
320 TH1F* m_neuroHWOutQuad1InvPt = nullptr;
321 TH1F* m_neuroHWOutQuad2Z = nullptr;
323 TH1F* m_neuroHWOutQuad2Phi0 = nullptr;
324 TH1F* m_neuroHWOutQuad2InvPt = nullptr;
325 TH1F* m_neuroHWOutQuad3Z = nullptr;
327 TH1F* m_neuroHWOutQuad3Phi0 = nullptr;
328 TH1F* m_neuroHWOutQuad3InvPt = nullptr;
330 // hw NN received TS
331 TH1F* m_neuroHWInTSID = nullptr;
332 TH1F* m_neuroHWInTSCount = nullptr;
362 TH1F* m_neuroHWInTSLR_Layer0 = nullptr;
363 TH1F* m_neuroHWInTSLR_Layer1 = nullptr;
364 TH1F* m_neuroHWInTSLR_Layer2 = nullptr;
365 TH1F* m_neuroHWInTSLR_Layer3 = nullptr;
366 TH1F* m_neuroHWInTSLR_Layer4 = nullptr;
367 TH1F* m_neuroHWInTSLR_Layer5 = nullptr;
368 TH1F* m_neuroHWInTSLR_Layer6 = nullptr;
369 TH1F* m_neuroHWInTSLR_Layer7 = nullptr;
370 TH1F* m_neuroHWInTSLR_Layer8 = nullptr;
372 // hw NN selected TS
373 TH1F* m_neuroHWSelTSID = nullptr;
374 TH1F* m_neuroHWSelTSCount = nullptr;
404 TH1F* m_neuroHWSelTSLR_Layer0 = nullptr;
405 TH1F* m_neuroHWSelTSLR_Layer1 = nullptr;
406 TH1F* m_neuroHWSelTSLR_Layer2 = nullptr;
407 TH1F* m_neuroHWSelTSLR_Layer3 = nullptr;
408 TH1F* m_neuroHWSelTSLR_Layer4 = nullptr;
409 TH1F* m_neuroHWSelTSLR_Layer5 = nullptr;
410 TH1F* m_neuroHWSelTSLR_Layer6 = nullptr;
411 TH1F* m_neuroHWSelTSLR_Layer7 = nullptr;
412 TH1F* m_neuroHWSelTSLR_Layer8 = nullptr;
415 // hw 2D received TS
416 //TH1F* m_2DHWInTSID = nullptr; /**< ID of 2D incoming axial track segments */
417 //TH1F* m_2DHWInTSCount = nullptr; /**< number of 2D incoming TS per event */
418 TH1F* m_2DHWInTSPrioT_Layer0 = nullptr;
419 TH1F* m_2DHWInTSPrioT_Layer2 = nullptr;
420 TH1F* m_2DHWInTSPrioT_Layer4 = nullptr;
421 TH1F* m_2DHWInTSPrioT_Layer6 = nullptr;
422 TH1F* m_2DHWInTSPrioT_Layer8 = nullptr;
423 TH1F* m_2DHWInTSFoundT_Layer0 = nullptr;
424 TH1F* m_2DHWInTSFoundT_Layer2 = nullptr;
425 TH1F* m_2DHWInTSFoundT_Layer4 = nullptr;
426 TH1F* m_2DHWInTSFoundT_Layer6 = nullptr;
427 TH1F* m_2DHWInTSFoundT_Layer8 = nullptr;
429 TH1F* m_2DHWInTSPrioB_Layer0 = nullptr;
430 TH1F* m_2DHWInTSPrioB_Layer2 = nullptr;
431 TH1F* m_2DHWInTSPrioB_Layer4 = nullptr;
432 TH1F* m_2DHWInTSPrioB_Layer6 = nullptr;
433 TH1F* m_2DHWInTSPrioB_Layer8 = nullptr;
434 TH1F* m_2DHWInTSLR_Layer0 = nullptr;
435 TH1F* m_2DHWInTSLR_Layer2 = nullptr;
436 TH1F* m_2DHWInTSLR_Layer4 = nullptr;
437 TH1F* m_2DHWInTSLR_Layer6 = nullptr;
438 TH1F* m_2DHWInTSLR_Layer8 = nullptr;
441 // hw TS selected by sw NN
442 TH1F* m_neuroSWSelTSID = nullptr;
443 TH1F* m_neuroSWSelTSCount = nullptr;
473 TH1F* m_neuroSWSelTSLR_Layer0 = nullptr;
474 TH1F* m_neuroSWSelTSLR_Layer1 = nullptr;
475 TH1F* m_neuroSWSelTSLR_Layer2 = nullptr;
476 TH1F* m_neuroSWSelTSLR_Layer3 = nullptr;
477 TH1F* m_neuroSWSelTSLR_Layer4 = nullptr;
478 TH1F* m_neuroSWSelTSLR_Layer5 = nullptr;
479 TH1F* m_neuroSWSelTSLR_Layer6 = nullptr;
480 TH1F* m_neuroSWSelTSLR_Layer7 = nullptr;
481 TH1F* m_neuroSWSelTSLR_Layer8 = nullptr;
484 // sw TS incoming
485 TH1F* m_neuroSWTSSW2DInTSID = nullptr;
486 TH1F* m_neuroSWTSSW2DInTSCount = nullptr;
527 // sw TS selected
528 TH1F* m_neuroSWTSSW2DSelTSID = nullptr;
570 // hw input vector
571 TH1F* m_neuroHWInputID_Layer0 = nullptr;
572 TH1F* m_neuroHWInputT_Layer0 = nullptr;
574 TH1F* m_neuroHWInputID_Layer1 = nullptr;
575 TH1F* m_neuroHWInputT_Layer1 = nullptr;
577 TH1F* m_neuroHWInputID_Layer2 = nullptr;
578 TH1F* m_neuroHWInputT_Layer2 = nullptr;
580 TH1F* m_neuroHWInputID_Layer3 = nullptr;
581 TH1F* m_neuroHWInputT_Layer3 = nullptr;
583 TH1F* m_neuroHWInputID_Layer4 = nullptr;
584 TH1F* m_neuroHWInputT_Layer4 = nullptr;
586 TH1F* m_neuroHWInputID_Layer5 = nullptr;
587 TH1F* m_neuroHWInputT_Layer5 = nullptr;
589 TH1F* m_neuroHWInputID_Layer6 = nullptr;
590 TH1F* m_neuroHWInputT_Layer6 = nullptr;
592 TH1F* m_neuroHWInputID_Layer7 = nullptr;
593 TH1F* m_neuroHWInputT_Layer7 = nullptr;
595 TH1F* m_neuroHWInputID_Layer8 = nullptr;
596 TH1F* m_neuroHWInputT_Layer8 = nullptr;
599 // sw input vector (hw TS hw 2D)
600 TH1F* m_neuroSWInputID_Layer0 = nullptr;
601 TH1F* m_neuroSWInputT_Layer0 = nullptr;
603 TH1F* m_neuroSWInputID_Layer1 = nullptr;
604 TH1F* m_neuroSWInputT_Layer1 = nullptr;
606 TH1F* m_neuroSWInputID_Layer2 = nullptr;
607 TH1F* m_neuroSWInputT_Layer2 = nullptr;
609 TH1F* m_neuroSWInputID_Layer3 = nullptr;
610 TH1F* m_neuroSWInputT_Layer3 = nullptr;
612 TH1F* m_neuroSWInputID_Layer4 = nullptr;
613 TH1F* m_neuroSWInputT_Layer4 = nullptr;
615 TH1F* m_neuroSWInputID_Layer5 = nullptr;
616 TH1F* m_neuroSWInputT_Layer5 = nullptr;
618 TH1F* m_neuroSWInputID_Layer6 = nullptr;
619 TH1F* m_neuroSWInputT_Layer6 = nullptr;
621 TH1F* m_neuroSWInputID_Layer7 = nullptr;
622 TH1F* m_neuroSWInputT_Layer7 = nullptr;
624 TH1F* m_neuroSWInputID_Layer8 = nullptr;
625 TH1F* m_neuroSWInputT_Layer8 = nullptr;
628 // sw input vector (sw TS sw 2D)
658 // reco
659 TH1F* m_RecoZ = nullptr;
660 TH1F* m_RecoCosTheta = nullptr;
661 TH1F* m_RecoInvPt = nullptr;
662 TH1F* m_RecoPhi = nullptr;
663 TH1F* m_RecoD0 = nullptr;
664 TH1F* m_RecoTrackCount = nullptr;
666 // reco values for tracks matched to hw NN tracks
667 TH1F* m_RecoHWZ = nullptr;
668 TH1F* m_RecoHWCosTheta = nullptr;
669 TH1F* m_RecoHWInvPt = nullptr;
670 TH1F* m_RecoHWPhi = nullptr;
671 TH1F* m_RecoHWD0 = nullptr;
672 TH2F* m_RecoHWZScatter = nullptr;
674 // hw neuro values for tracks matched to reco tracks
675 TH1F* m_neuroRecoHWOutZ = nullptr;
676 TH1F* m_neuroRecoHWOutCosTheta = nullptr;
677 TH1F* m_neuroRecoHWOutInvPt = nullptr;
678 TH1F* m_neuroRecoHWOutPhi0 = nullptr;
681 TH1F* m_neuroRecoHWSector = nullptr;
683 // hw accuracy
684 TH1F* m_DeltaRecoHWZ = nullptr;
685 TH1F* m_DeltaRecoHWCosTheta = nullptr;
686 TH1F* m_DeltaRecoHWInvPt = nullptr;
687 TH1F* m_DeltaRecoHWPhi = nullptr;
689 // reco values for tracks matched to sw NN tracks (hw TS, hw 2D)
690 TH1F* m_RecoSWZ = nullptr;
691 TH1F* m_RecoSWCosTheta = nullptr;
692 TH1F* m_RecoSWInvPt = nullptr;
693 TH1F* m_RecoSWPhi = nullptr;
694 TH1F* m_RecoSWD0 = nullptr;
695 TH2F* m_RecoSWZScatter = nullptr;
697 // sw neuro values for tracks matched to reco tracks
698 TH1F* m_neuroRecoSWOutZ = nullptr;
699 TH1F* m_neuroRecoSWOutCosTheta = nullptr;
700 TH1F* m_neuroRecoSWOutInvPt = nullptr;
701 TH1F* m_neuroRecoSWOutPhi0 = nullptr;
704 TH1F* m_neuroRecoSWSector = nullptr;
706 // sw accuracy (hw TS, hw 2D)
707 TH1F* m_DeltaRecoSWZ = nullptr;
708 TH1F* m_DeltaRecoSWCosTheta = nullptr;
709 TH1F* m_DeltaRecoSWInvPt = nullptr;
710 TH1F* m_DeltaRecoSWPhi = nullptr;
712 // reco values for tracks matched to sw NN tracks (sw TS, sw 2D)
713 TH1F* m_RecoSWTSSW2DZ = nullptr;
714 TH1F* m_RecoSWTSSW2DCosTheta = nullptr;
715 TH1F* m_RecoSWTSSW2DInvPt = nullptr;
716 TH1F* m_RecoSWTSSW2DPhi = nullptr;
717 TH1F* m_RecoSWTSSW2DD0 = nullptr;
718 TH2F* m_RecoSWTSSW2DZScatter = nullptr;
720 // sw neuro values for tracks matched to reco tracks (sw TS, sw 2D)
721 TH1F* m_neuroRecoSWTSSW2DOutZ = nullptr;
726 nullptr;
730 // sw accuracy (sw TS, sw 2D)
731 TH1F* m_DeltaRecoSWTSSW2DZ = nullptr;
733 TH1F* m_DeltaRecoSWTSSW2DInvPt = nullptr;
734 TH1F* m_DeltaRecoSWTSSW2DPhi = nullptr;
735 };
736
738}
StoreArray< CDCTriggerMLPInput > m_simNeuroInputVector
StoreArray for neuro input vector from TSIM.
TH1F * m_neuroSWTSSW2DInputID_Layer6
simulated id input in layer 6
TH1F * m_neuroRecoSWOutInvPt
reco matched Inverse Pt distribution from simulation (hw TS hw 2D sw NN)
TH1F * m_neuroSWTSSW2DSelTSPrioB_Layer8
Priority bits of track segments in layer 8.
TH1F * m_neuroSWTSSW2DSelTSPrioB_Layer4
Priority bits of track segments in layer 4.
TH1F * m_neuroSWTSSW2DInTSPrioB_Layer0
Priority bits of track segments in layer 0.
bool m_limitedoutput
Switch to supress output for dqm online module.
TH1F * m_neuroSWSelTSPrioB_Layer7
Priority bits of track segments in layer 7.
TH1F * m_neuroDeltaInputT
unpacked time input - TSIM time input
StoreArray< CDCTriggerSegmentHit > m_unpackedNeuroInputSegments
StoreArray for neuro input Track segments.
TH1F * m_neuroSWSelTSPrioT_Layer3
Priority time of track segments in layer 3.
TH1F * m_neuroHWInputID_Layer7
unpacked id input in layer 7
TH1F * m_neuroSWSelTSLR_Layer5
Left/Right of track segments in layer 5.
TH1F * m_neuroSWSelTSLR_Layer2
Left/Right of track segments in layer 2.
TH1F * m_neuroSWTSSW2DInputT_Layer6
simulated time input in layer 6
TH1F * m_neuroHWSelTSPrioT_Layer5
Priority time of selected track segments in layer 5.
TH1F * m_neuroSWSelTSPrioT_Layer1
Priority time of track segments in layer 1.
TH1F * m_2DHWInTSPrioB_Layer4
Priority bits of 2D track segments in layer 4.
StoreArray< CDCTriggerTrack > m_unpackedNeuroInput2DTracks
StoreArray for neuro input 2dfinder tracks.
TH1F * m_neuroHWInTSLR_Layer3
Left/Right of track segments in layer 3.
TH1F * m_neuroSWInputAlpha_Layer3
simulated alpha input in layer 3
StoreArray< CDCTriggerTrack > m_unpackedNeuroTracks
StoreArray for neuro tracks from unpacker.
TH1F * m_neuroSWOutInvPt
Inverse Pt distribution from simulation (hw TS hw 2D sw NN)
TH1F * m_neuroSWInputID_Layer7
simulated id input in layer 7
TH1F * m_neuroSWTSSW2DSelTSFoundT_Layer2
Found time of selected track segments in layer 2.
TH1F * m_2DHWOutInvPt
Inverse Pt of 2dtracks.
TH1F * m_neuroSWTSSW2DInputID_Layer2
simulated id input in layer 2
std::string m_unpackedSegmentHitsName
Name for TS hits from unpacker.
TH1F * m_neuroRecoHWOutZ
reco matched z distribution from unpacker
TH1F * m_neuroSWTSSW2DInTSFoundT_Layer1
Found time of track segments in layer 1.
TH1F * m_neuroHWInPhi0
Phi0 of incoming 2dtrack.
TH1F * m_2DHWOutTrackCount
number of 2dtracks per event
TH1F * m_neuroSWSelTSFoundT_Layer3
Found time of track segments in layer 3.
int m_recoTrackMultiplicity
Select events with a specific RecoTrack track multiplicity.
TH1F * m_neuroSWTSSW2DInputAlpha_Layer2
simulated alpha input in layer 2
TH1F * m_neuroHWInTSPrioB_Layer8
Priority bits of track segments in layer 8.
TH1F * m_neuroHWInTSPrioT_Layer5
Priority time of track segments in layer 5.
TH1F * m_neuroSWInputID_Layer6
simulated id input in layer 6
TH1F * m_neuroSWTSSW2DSelTSPrioB_Layer0
Priority bits of track segments in layer 0.
TH1F * m_RecoInvPt
reconstructed inverse Pt
TH1F * m_neuroSWTSSW2DInTSLR_Layer2
Left/Right of track segments in layer 2.
TH1F * m_neuroHWInputAlpha_Layer4
unpacked alpha input in layer 4
TH1F * m_neuroSWTSSW2DSelTSLR_Layer3
Left/Right of track segments in layer 3.
TH1F * m_neuroSWSelTSPrioT_Layer8
Priority time of track segments in layer 8.
TH1F * m_neuroHWInTSFoundT_Layer6
Found time of track segments in layer 6.
TH1F * m_neuroSWTSSW2DSelTSFoundT_Layer8
Found time of selected track segments in layer 8.
TH1F * m_neuroSWTSSW2DSelTSPrioT_Layer7
Priority time of selected track segments in layer 7.
TH1F * m_neuroSWTSSW2DSelTSPrioB_Layer3
Priority bits of track segments in layer 3.
TH1F * m_neuroSWSelTSPrioB_Layer0
Priority bits of track segments in layer 0.
TH1F * m_neuroHWOutQuad1Z
z distribution from unpacker (quadrant 1)
TH1F * m_neuroSWTSSW2DSelTSPrioT_Layer5
Priority time of selected track segments in layer 5.
TH1F * m_neuroSWTSSW2DSelTSFoundT_Layer3
Found time of selected track segments in layer 3.
TH1F * m_neuroSWTSSW2DOutInvPt
Inverse Pt distribution from simulation (sw TS sw 2D sw NN)
TH1F * m_neuroHWInVs2DOutTrackCount
neuroHWInTrackCount - 2DHWOutTrackCountput
TH2F * m_neuroScatterTheta
unpacked theta vs TSIM theta, scatter plot
TH1F * m_neuroSWInputT_Layer5
simulated time input in layer 5
TH1F * m_2DHWInTSFoundT_Layer2
Found time of 2D track segments in layer 2.
TH2F * m_RecoHWZScatter
matched to HW reconstructed z scatter plot
TH1F * m_neuroSWSelTSPrioB_Layer1
Priority bits of track segments in layer 1.
TH1F * m_neuroSWTSSW2DInTSCount
number of TS per event
double m_maxRecoD0Dist
Select only RecoTracks with a maximum d0 distance to the z axis.
TH1F * m_neuroRecoSWTSSW2DOutPhi0
reco matched phi distribution from simulation (sw TS sw 2D sw NN)
TH1F * m_neuroRecoHWOutCosTheta
reco matched cos theta distribution from unpacker
TH1F * m_neuroSWTSSW2DSelTSPrioT_Layer2
Priority time of selected track segments in layer 2.
TH1F * m_neuroHWSelTSCount
number of selected TS per SL
TH1F * m_neuroSWOutPhi0
phi distribution from simulation (hw TS hw 2D sw NN)
TH1F * m_DeltaRecoSWTSSW2DInvPt
matched to SWTSSW2DSWNN reconstructed inverse Pt
TH1F * m_neuroHWInTSLR_Layer2
Left/Right of track segments in layer 2.
TH1F * m_neuroHWInTSPrioT_Layer4
Priority time of track segments in layer 4.
TH1F * m_neuroRecoHWOutHitPattern
reco matched stereo hit pattern from unpacker
TH1F * m_neuroHWInm_time
m_time distribution from incoming 2dtracks
TH1F * m_RecoTrackCount
number of reconstructed tracks per event
TH1F * m_neuroSWSelTSLR_Layer6
Left/Right of track segments in layer 6.
TH1F * m_2DHWInTSFoundT_Layer4
Found time of 2D track segments in layer 4.
bool m_showRecoTracks
Switch to turn on a comparison with the reconstruction.
TH1F * m_neuroDeltaTheta
unpacked theta - TSIM theta
TH1F * m_neuroRecoSWTSSW2DOutInvPt
reco matched Inverse Pt distribution from simulation (sw TS sw 2D sw NN)
TH1F * m_neuroSWSelTSFoundT_Layer5
Found time of track segments in layer 5.
TH1F * m_neuroSWTSSW2DSelTSFoundT_Layer4
Found time of selected track segments in layer 4.
TH1F * m_RecoSWTSSW2DInvPt
matched to SWTSSW2DSWNN reconstructed inverse Pt
TH1F * m_2DHWInTSLR_Layer4
Left/Right of 2D track segments in layer 4.
TH1F * m_2DHWInTSFoundT_Layer0
Found time of 2D track segments in layer 0.
TH1F * m_neuroSWTSSW2DInputT_Layer1
simulated time input in layer 1
TH1F * m_neuroHWOutZ
z distribution of unpacked neuro tracks
TH1F * m_neuroHWInputT_Layer2
unpacked time input in layer 2
TH1F * m_neuroSWTSSW2DInputID_Layer5
simulated id input in layer 5
TH1F * m_DeltaRecoSWTSSW2DCosTheta
matched to SWTSSW2DSWNN reconstructed cos(theta)
virtual void initialize() override
Module functions.
TH1F * m_neuroSWTSSW2DInTSLR_Layer0
Left/Right of track segments in layer 0.
TH1F * m_neuroHWInInvPt
Inverse Pt distribution from incoming 2dtrack.
TH1F * m_neuroRecoHWOutInvPt
reco matched Inverse Pt distribution from unpacker
TH1F * m_neuroHWOutQuad2InvPt
Inverse Pt distribution from unpacker (quadrant 2)
TH1F * m_neuroSWSector
NN sector from simulation (hw TS hw 2D sw NN)
TH1F * m_neuroSWSelTSLR_Layer7
Left/Right of track segments in layer 7.
TH1F * m_neuroHWSelTSFoundT_Layer1
Found time of selected track segments in layer 1.
TH1F * m_neuroSWTSSW2DInTSPrioB_Layer1
Priority bits of track segments in layer 1.
TH1F * m_neuroHWInputAlpha_Layer3
unpacked alpha input in layer 3
TH1F * m_neuroSWTSSW2DInputAlpha_Layer6
simulated alpha input in layer 6
TH1F * m_neuroHWSelTSFoundT_Layer6
Found time of selected track segments in layer 6.
TH1F * m_neuroHWInTSFoundT_Layer2
Found time of track segments in layer 2.
TH1F * m_neuroHWOutQuad0Phi0
phi distribution from unpacker (quadrant 0)
TH1F * m_DeltaRecoHWInvPt
matched to HW reconstructed inverse Pt
TH1F * m_neuroSWInputT_Layer0
simulated time input in layer 0
TH1F * m_neuroHWInTSPrioT_Layer1
Priority time of track segments in layer 1.
TH1F * m_neuroSWTSSW2DInTSPrioT_Layer6
Priority time of track segments in layer 6.
TH1F * m_neuroSWInputAlpha_Layer1
simulated alpha input in layer 1
TH1F * m_neuroSWOutTrackCount
number of simulated tracks per event (hw TS hw 2D sw NN)
TH1F * m_neuroSWTSSW2DOutTrackCount
number of simulated tracks per event (sw TS sw 2D sw NN)
TH1F * m_neuroHWSelTSPrioB_Layer5
Priority bits of track segments in layer 5.
TH1F * m_neuroHWSelTSFoundT_Layer4
Found time of selected track segments in layer 4.
TH1F * m_neuroSWTSSW2DInputAlpha_Layer3
simulated alpha input in layer 3
TH1F * m_neuroSWTSSW2DInTSFoundT_Layer4
Found time of track segments in layer 4.
TH1F * m_2DHWInTSFoundT_Layer8
Found time of 2D track segments in layer 8.
TH1F * m_2DHWInTSPrioT_Layer8
Priority time of 2D track segments in layer 8.
void condFill(TH1F *histo, float value)
Fill a histogram only with non-zero values.
TH1F * m_simSameTS
number of TS selected in both, unpacked and TSIM tracks
TH1F * m_neuroHWInTSFoundT_Layer8
Found time of track segments in layer 8.
TH1F * m_neuroHWSelTSPrioB_Layer3
Priority bits of track segments in layer 3.
TH1F * m_neuroSWInputID_Layer8
simulated id input in layer 8
TH1F * m_2DHWInTSFoundT_Layer6
Found time of 2D track segments in layer 6.
TH1F * m_neuroRecoSWOutTrackCount
reco matched number of simulated tracks per event (hw TS hw 2D sw NN)
TH1F * m_neuroSWInputAlpha_Layer6
simulated alpha input in layer 6
TH1F * m_neuroSWTSSW2DInputT_Layer3
simulated time input in layer 3
TH1F * m_2DHWInTSPrioB_Layer8
Priority bits of 2D track segments in layer 8.
TH1F * m_neuroSWTSSW2DInTSLR_Layer3
Left/Right of track segments in layer 3.
TH1F * m_neuroHWOutQuad1InvPt
Inverse Pt distribution from unpacker (quadrant 1)
TH1F * m_neuroSWSelTSPrioT_Layer0
Priority time of track segments in layer 0.
virtual void event() override
Function to process event record.
TH1F * m_RecoSWPhi
matched to SW reconstructed phi
TH1F * m_RecoSWD0
matched to SW reconstructed d0
TH1F * m_neuroSWTSSW2DInTSFoundT_Layer3
Found time of track segments in layer 3.
TH1F * m_neuroRecoSWTSSW2DOutHitPattern
reco matched stereo hit pattern of simulated neuro tracks (sw TS sw 2D sw NN)
TH1F * m_neuroHWInTSLR_Layer5
Left/Right of track segments in layer 5.
StoreArray< CDCTriggerSegmentHit > m_simSegmentHits
StoreArray for simulated TS hits.
TH1F * m_neuroHWInTSLR_Layer6
Left/Right of track segments in layer 6.
TH1F * m_neuroSWSelTSPrioT_Layer6
Priority time of track segments in layer 6.
TH1F * m_neuroHWInputAlpha_Layer2
unpacked alpha input in layer 2
TH1F * m_RecoHWD0
matched to HW reconstructed d0
TH1F * m_neuroSWSelTSFoundT_Layer0
Found time of track segments in layer 0.
TH1F * m_neuroSWTSSW2DSelTSLR_Layer2
Left/Right of track segments in layer 2.
TH1F * m_neuroHWInTSPrioB_Layer1
Priority bits of track segments in layer 1.
TH1F * m_neuroHWInputID_Layer4
unpacked id input in layer 4
TH1F * m_neuroSWTSSW2DSelTSFoundT_Layer6
Found time of selected track segments in layer 6.
TH1F * m_neuroSWTSSW2DSelTSFoundT_Layer5
Found time of selected track segments in layer 5.
std::string m_simSegmentHitsName
Name for simulated TS hits.
TH1F * m_neuroSWTSSW2DSelTSID
ID of incoming track segments.
TH1F * m_neuroSWInputT_Layer7
simulated time input in layer 7
TH1F * m_neuroHWSelTSPrioB_Layer6
Priority bits of track segments in layer 6.
TH1F * m_neuroSWTSSW2DInTSLR_Layer1
Left/Right of track segments in layer 1.
TH1F * m_neuroSWSelTSID
ID of incoming track segments.
TH1F * m_neuroSWTSSW2DInTSLR_Layer4
Left/Right of track segments in layer 4.
TH1F * m_neuroSWTSSW2DSector
NN sector from simulation (sw TS sw 2D sw NN)
TH1F * m_neuroHWInTSPrioB_Layer5
Priority bits of track segments in layer 5.
TH1F * m_neuroSWTSSW2DInputID_Layer3
simulated id input in layer 3
TH1F * m_neuroSWTSSW2DInTSPrioT_Layer7
Priority time of track segments in layer 7.
TH1F * m_neuroSWSelTSPrioT_Layer4
Priority time of track segments in layer 4.
TH1F * m_neuroSWInputID_Layer0
simulated id input in layer 0
TH1F * m_neuroRecoSWOutHitPattern
reco matched stereo hit pattern of simulated neuro tracks (hw TS hw 2D sw NN)
TH1F * m_neuroSWTSSW2DSelTSLR_Layer8
Left/Right of track segments in layer 8.
std::string m_unpacked2DTracksName
Name for 2D finder tracks from unpacker.
TH1F * m_neuroHWSelTSPrioT_Layer2
Priority time of selected track segments in layer 2.
TH1F * m_neuroHWInTSFoundT_Layer7
Found time of track segments in layer 7.
TH2F * m_RecoSWTSSW2DZScatter
matched to SWTSSW2DSWNN reconstructed z scatter plot
TH1F * m_simDiffTS
number of TS selcted in TSIM but not in unpacked
TH1F * m_neuroSWTSSW2DInTSPrioB_Layer6
Priority bits of track segments in layer 6.
TH1F * m_neuroHWInTSPrioB_Layer4
Priority bits of track segments in layer 4.
TH1F * m_neuroSWOutZ
z distribution from simulation (hw TS hw 2D sw NN)
virtual void endRun() override
Function to process end_run record.
TH1F * m_neuroHWSelTSPrioB_Layer7
Priority bits of track segments in layer 7.
TH1F * m_neuroSWTSSW2DInputAlpha_Layer5
simulated alpha input in layer 5
TH1F * m_2DSWOutInvPt
Inverse Pt of 2dtracks (sw TS sw 2D)
TH1F * m_neuroSWTSSW2DInTSFoundT_Layer7
Found time of track segments in layer 7.
TH1F * m_neuroHWInputT_Layer1
unpacked time input in layer 1
TH1F * m_neuroHWInputID_Layer3
unpacked id input in layer 3
TH1F * m_neuroSWInputAlpha_Layer0
simulated alpha input in layer 0
TH1F * m_neuroSWTSSW2DOutHitPattern
stereo hit pattern of simulated neuro tracks (sw TS sw 2D sw NN)
std::string m_unpackedNeuroInputSegmentsName
Name for neuro input Track segments.
TH1F * m_neuroHWInTSPrioT_Layer2
Priority time of track segments in layer 2.
TH1F * m_neuroSWInputID_Layer4
simulated id input in layer 4
TH1F * m_RecoSWCosTheta
matched to SW reconstructed cos(theta)
TH1F * m_2DSWOutm_time
m_time 2dtracks (sw TS sw 2D)
TH1F * m_2DHWInTSPrioB_Layer0
Priority bits of 2D track segments in layer 0.
TH1F * m_2DSWOutTrackCount
number of 2dtracks per event (sw TS sw 2D)
virtual void terminate() override
Function to terminate module.
TH1F * m_neuroHWSelTSPrioT_Layer7
Priority time of selected track segments in layer 7.
TH1F * m_neuroHWSelTSPrioT_Layer0
Priority time of selected track segments in layer 0.
TH2F * m_RecoSWZScatter
matched to SW reconstructed z scatter plot
std::string m_unpackedNeuroInput2DTracksName
Name for neuro input 2d finder tracks.
TH1F * m_neuroHWInputT_Layer0
unpacked time input in layer 0
TH1F * m_neuroHWInputID_Layer6
unpacked id input in layer 6
TH1F * m_neuroRecoSWTSSW2DOutTrackCount
reco matched number of simulated tracks per event (sw TS sw 2D sw NN)
TH1F * m_neuroHWOutQuad0CosTheta
cos theta distribution from unpacker (quadrant 0)
TH1F * m_neuroSWTSSW2DSelTSLR_Layer4
Left/Right of track segments in layer 4.
TH1F * m_neuroSWSelTSPrioB_Layer8
Priority bits of track segments in layer 8.
TH1F * m_neuroHWInTSFoundT_Layer1
Found time of track segments in layer 1.
TH1F * m_neuroHWOutPt
Pt distribution of unpacked neuro tracks.
TH1F * m_neuroHWSelTSLR_Layer6
Left/Right of track segments in layer 6.
TH1F * m_neuroHWOutQuad3Phi0
phi distribution from unpacker (quadrant 3)
TH1F * m_neuroHWInputAlpha_Layer7
unpacked alpha input in layer 7
TH1F * m_neuroSWInputT_Layer8
simulated time input in layer 8
TH1F * m_neuroHWInTSFoundT_Layer0
Found time of track segments in layer 0.
TH1F * m_neuroHWOutQuad5CosTheta
cos theta distribution from unpacker (no quadrant set)
TH1F * m_2DSWOutPhi0
Phi0 of 2dtracks (sw TS sw 2D)
TH1F * m_neuroSWTSSW2DSelTSPrioT_Layer6
Priority time of selected track segments in layer 6.
StoreArray< CDCTriggerMLPInput > m_unpackedNeuroInputVector
StoreArray for neuro input vector from unpacker.
TH1F * m_neuroSWInputT_Layer6
simulated time input in layer 6
StoreArray< CDCTriggerMLPInput > m_simNeuroInputVectorSWTSSW2D
StoreArray for neuro input vector using simulated TS and simulated 2D.
TH1F * m_DeltaRecoSWInvPt
matched to SW reconstructed inverse Pt
TH1F * m_neuroHWSelTSLR_Layer0
Left/Right of track segments in layer 0.
TH1F * m_neuroSWTSSW2DInTSLR_Layer6
Left/Right of track segments in layer 6.
TH1F * m_neuroSWInputID_Layer1
simulated id input in layer 1
bool m_skipWithoutHWTS
Switch to skip events without unpacked TS.
TH1F * m_neuroSWTSSW2DInputT_Layer0
simulated time input in layer 0
TH1F * m_neuroSWTSSW2DSelTSPrioB_Layer7
Priority bits of track segments in layer 7.
TH1F * m_neuroHWInTSFoundT_Layer3
Found time of track segments in layer 3.
TH1F * m_neuroSWTSSW2DInTSFoundT_Layer6
Found time of track segments in layer 6.
TH1F * m_neuroHWInputT_Layer4
unpacked time input in layer 4
TH1F * m_neuroHWInputAlpha_Layer5
unpacked alpha input in layer 5
TH1F * m_RecoSWTSSW2DPhi
matched to SWTSSW2DSWNN reconstructed phi
TH1F * m_neuroHWInTSLR_Layer0
Left/Right of track segments in layer 0.
TH1F * m_neuroSWTSSW2DSelTSLR_Layer5
Left/Right of track segments in layer 5.
TH1F * m_DeltaRecoHWCosTheta
matched to HW reconstructed cos(theta)
TH1F * m_neuroSWTSSW2DInTSID
ID of incoming track segments.
TH1F * m_neuroHWInputID_Layer1
unpacked id input in layer 1
TH1F * m_RecoSWTSSW2DZ
matched to SWTSSW2DSWNN reconstructed z
TH1F * m_neuroSWTSSW2DInTSPrioB_Layer3
Priority bits of track segments in layer 3.
StoreArray< CDCTriggerTrack > m_simNeuroTracks
StoreArray for neuro tracks from TSIM.
TH1F * m_neuroHWSelTSLR_Layer3
Left/Right of track segments in layer 3.
TH1F * m_neuroHWSelTSFoundT_Layer8
Found time of selected track segments in layer 8.
TH1F * m_neuroSWTSSW2DSelTSLR_Layer6
Left/Right of track segments in layer 6.
TH1F * m_neuroRecoSWTSSW2DOutZ
reco matched z distribution from simulation (sw TS sw 2D sw NN)
std::string m_simNeuroInputVectorName
Name for simulated neuro input vector using HW TS, HW 2D.
TH1F * m_neuroSWTSSW2DInTSPrioB_Layer4
Priority bits of track segments in layer 4.
TH1F * m_2DHWInTSPrioT_Layer2
Priority time of 2D track segments in layer 2.
TH1F * m_neuroHWOutPhi0
phi distribution of unpacked neuro tracks
TH1F * m_neuroHWOutQuad3Z
z distribution from unpacker (quadrant 3)
TH1F * m_neuroHWInTSFoundT_Layer5
Found time of track segments in layer 5.
TH1F * m_neuroHWOutQuad1Phi0
phi distribution from unpacker (quadrant 1)
TH1F * m_neuroHWSector
sector of unpacked neuro tracks
TH1F * m_neuroSWTSSW2DSelTSPrioT_Layer8
Priority time of selected track segments in layer 8.
TH1F * m_neuroHWInTrackCount
number of neuro input 2dtracks per event
TH1F * m_neuroHWSelTSPrioB_Layer2
Priority bits of track segments in layer 2.
TH1F * m_neuroHWInTSLR_Layer4
Left/Right of track segments in layer 4.
TH1F * m_neuroSWOutHitPattern
stereo hit pattern of simulated neuro tracks (hw TS hw 2D sw NN)
TH1F * m_neuroSWTSSW2DSelTSPrioB_Layer6
Priority bits of track segments in layer 6.
TH1F * m_2DHWInTSLR_Layer0
Left/Right of 2D track segments in layer 0.
TH1F * m_neuroSWOutCosTheta
cos theta distribution from simulation (hw TS hw 2D sw NN)
TH1F * m_neuroSWInputT_Layer2
simulated time input in layer 2
TH1F * m_neuroRecoHWSector
reco matched NN sector from unpacker
TH1F * m_neuroSWTSSW2DInputID_Layer0
simulated id input in layer 0
TH1F * m_neuroSWTSSW2DInTSPrioT_Layer2
Priority time of track segments in layer 2.
TH1F * m_neuroHWInTSLR_Layer8
Left/Right of track segments in layer 8.
StoreArray< CDCTriggerSegmentHit > m_unpackedSegmentHits
StoreArray for TS hits from unpacker.
TH1F * m_neuroHWSelTSPrioB_Layer4
Priority bits of track segments in layer 4.
virtual void beginRun() override
Function to process begin_run record.
std::string m_histogramDirectoryName
Name of the histogram directory in ROOT file.
TH1F * m_neuroSWSelTSPrioB_Layer4
Priority bits of track segments in layer 4.
TH1F * m_neuroHWOutQuad0Z
z distribution from unpacker (quadrant 0)
TH1F * m_neuroHWInputAlpha_Layer1
unpacked alpha input in layer 1
TH1F * m_neuroHWInTSPrioB_Layer7
Priority bits of track segments in layer 7.
TH1F * m_neuroSWSelTSFoundT_Layer2
Found time of track segments in layer 2.
TH1F * m_neuroSWSelTSPrioT_Layer2
Priority time of track segments in layer 2.
TH1F * m_2DHWInTSLR_Layer6
Left/Right of 2D track segments in layer 6.
TH1F * m_neuroHWSelTSPrioT_Layer1
Priority time of selected track segments in layer 1.
StoreArray< CDCTriggerTrack > m_sim2DTracksSWTS
StoreArray for simulated 2D finder tracks using simulated TS.
TH1F * m_neuroHWSelTSLR_Layer5
Left/Right of track segments in layer 5.
std::string m_recoTracksName
Name for the RecoTrack array name.
TH1F * m_RecoHWPhi
matched to HW reconstructed phi
TH1F * m_neuroHWOutQuad1CosTheta
cos theta distribution from unpacker (quadrant 1)
TH1F * m_neuroSWInputID_Layer2
simulated id input in layer 2
TH1F * m_neuroHWSelTSFoundT_Layer5
Found time of selected track segments in layer 5.
TH1F * m_neuroHWOutInvPt
Inverse Pt distribution of unpacked neuro tracks.
TH1F * m_neuroSWSelTSLR_Layer3
Left/Right of track segments in layer 3.
TH1F * m_neuroSWTSSW2DInTSLR_Layer5
Left/Right of track segments in layer 5.
TH1F * m_neuroDeltaInputAlpha
unpacked alpha input - TSIM alpha input
TH1F * m_neuroHWInTSPrioT_Layer8
Priority time of track segments in layer 8.
TH1F * m_neuroSWSelTSPrioT_Layer7
Priority time of track segments in layer 7.
TH1F * m_neuroSWInputT_Layer3
simulated time input in layer 3
TH1F * m_neuroSWSelTSFoundT_Layer6
Found time of track segments in layer 6.
TH1F * m_neuroSWSelTSFoundT_Layer4
Found time of track segments in layer 4.
TH1F * m_neuroHWInTSCount
number of TS per track
TH1F * m_neuroRecoSWSector
reco matched NN sector from simulation (hw TS hw 2D sw NN)
TH1F * m_neuroDeltaSector
unpacked sector - TSIM sector
TH1F * m_neuroHWOutm_time
m_time distribution of unpacked neuro tracks
TH1F * m_2DHWInTSLR_Layer8
Left/Right of 2D track segments in layer 8.
TH1F * m_RecoHWCosTheta
matched to HW reconstructed cos(theta)
std::string m_simNeuroInputVectorSWTSSW2DName
Name for neuro input vector using simulated TS and simulated 2D.
TH1F * m_neuroSWSelTSFoundT_Layer1
Found time of track segments in layer 1.
TH1F * m_neuroSWTSSW2DSelTSPrioB_Layer5
Priority bits of track segments in layer 5.
TH1F * m_neuroRecoSWTSSW2DOutCosTheta
reco matched cos theta distribution from simulation (sw TS sw 2D sw NN)
TH1F * m_neuroHWSelTSLR_Layer7
Left/Right of track segments in layer 7.
double m_maxRecoZDist
Select only RecoTracks with a maximum z distance to the IP.
TH1F * m_neuroHWSelTSFoundT_Layer0
Found time of selected track segments in layer 0.
TH1F * m_neuroSWSelTSPrioB_Layer3
Priority bits of track segments in layer 3.
TH1F * m_neuroSWTSSW2DSelTSFoundT_Layer7
Found time of selected track segments in layer 7.
TH1F * m_neuroSWTSSW2DInputT_Layer5
simulated time input in layer 5
int m_nsamets
Number of identical track segments to be required for matching between HW and SW Neurotrigger.
TH1F * m_DeltaRecoSWCosTheta
matched to SW reconstructed cos(theta)
std::string m_simNeuroTracksName
Name for neuro tracks from TSIM using HW TS, HW 2D.
TH1F * m_neuroHWSelTSPrioB_Layer8
Priority bits of track segments in layer 8.
TH1F * m_RecoSWTSSW2DD0
matched to SWTSSW2DSWNN reconstructed d0
TH1F * m_neuroSWTSSW2DInTSFoundT_Layer5
Found time of track segments in layer 5.
TH1F * m_neuroSWTSSW2DInTSFoundT_Layer2
Found time of track segments in layer 2.
TH1F * m_neuroSWTSSW2DInputAlpha_Layer1
simulated alpha input in layer 1
unsigned getPattern(CDCTriggerTrack *track, std::string hitCollectionName)
get pattern of the track
TH1F * m_neuroSWTSSW2DSelTSPrioT_Layer0
Priority time of selected track segments in layer 0.
TH1F * m_neuroSWTSSW2DInputT_Layer7
simulated time input in layer 7
TH1F * m_neuroSWInputID_Layer5
simulated id input in layer 5
TH1F * m_neuroHWInTSPrioB_Layer6
Priority bits of track segments in layer 6.
TH1F * m_neuroSWSelTSLR_Layer0
Left/Right of track segments in layer 0.
TH1F * m_neuroSWTSSW2DSelTSPrioT_Layer4
Priority time of selected track segments in layer 4.
TH1F * m_neuroHWInputID_Layer2
unpacked id input in layer 2
TH1F * m_neuroHWInTSPrioT_Layer0
Priority time of track segments in layer 0.
TH1F * m_neuroRecoSWOutZ
reco matched z distribution from simulation (hw TS hw 2D sw NN)
TH1F * m_neuroSWInputAlpha_Layer4
simulated alpha input in layer 4
TH1F * m_neuroSWTSSW2DSelTSLR_Layer1
Left/Right of track segments in layer 1.
TH1F * m_neuroHWInputID_Layer5
unpacked id input in layer 5
TH1F * m_neuroSWTSSW2DInTSPrioB_Layer8
Priority bits of track segments in layer 8.
TH1F * m_neuroSWSelTSCount
number of TS per SL
TH1F * m_neuroSWTSSW2DInTSPrioB_Layer7
Priority bits of track segments in layer 7.
TH1F * m_neuroSWInputAlpha_Layer5
simulated alpha input in layer 5
std::string m_unpackedNeuroInputVectorName
Name for neuro input vector from unpacker.
TH1F * m_neuroHWSelTSPrioT_Layer3
Priority time of selected track segments in layer 3.
TH1F * m_neuroHWSelTSPrioT_Layer6
Priority time of selected track segments in layer 6.
TH1F * m_neuroSWTSSW2DInputT_Layer2
simulated time input in layer 2
TH1F * m_neuroSWTSSW2DInputID_Layer8
simulated id input in layer 8
std::string m_sim2DTracksSWTSName
Name for simulated 2D finder tracks using simulated TS.
TH1F * m_neuroSWTSSW2DInTSPrioB_Layer5
Priority bits of track segments in layer 5.
TH1F * m_RecoHWZ
matched to HW reconstructed z
TH1F * m_neuroHWSelTSFoundT_Layer7
Found time of selected track segments in layer 7.
TH1F * m_neuroSWTSSW2DInTSPrioT_Layer1
Priority time of track segments in layer 1.
TH2F * m_neuroScatterZ
unpacked z vs TSIM z, scatter plot
TH1F * m_neuroHWOutQuad2Z
z distribution from unpacker (quadrant 2)
TH1F * m_neuroDeltaInputID
unpacked ID input - TSIM ID input
TH1F * m_neuroHWSelTSLR_Layer4
Left/Right of track segments in layer 4.
TH1F * m_neuroHWInTSFoundT_Layer4
Found time of track segments in layer 4.
TH1F * m_neuroHWInTSPrioT_Layer3
Priority time of track segments in layer 3.
TH1F * m_RecoHWInvPt
matched to HW reconstructed inverse Pt
TH1F * m_neuroHWInTSPrioB_Layer2
Priority bits of track segments in layer 2.
TH1F * m_neuroHWInputAlpha_Layer0
unpacked alpha input in layer 0
TH1F * m_neuroHWOutTrackCount
number of unpacked tracks per event
TH1F * m_DeltaRecoSWZ
matched to SW reconstructed z
TH1F * m_neuroSWTSSW2DInputAlpha_Layer7
simulated alpha input in layer 7
TH1F * m_2DHWInTSLR_Layer2
Left/Right of 2D track segments in layer 2.
TH1F * m_neuroSWSelTSLR_Layer4
Left/Right of track segments in layer 4.
TH1F * m_2DHWInTSPrioT_Layer0
Priority time of 2D track segments in layer 0.
TH1F * m_DeltaRecoHWZ
matched to HW reconstructed z
TH1F * m_neuroRecoSWTSSW2DSector
reco matched NN sector from simulation (sw TS sw 2D sw NN)
bool isValidPattern(unsigned pattern)
Validity of the pattern.
TH1F * m_neuroSWTSSW2DInTSPrioT_Layer0
Priority time of track segments in layer 0.
StoreObjPtr< BinnedEventT0 > m_eventTime
storeobjpointer for event time
TH1F * m_neuroRecoHWOutPhi0
reco matched phi distribution from unpacker
TH1F * m_neuroSWTSSW2DOutPhi0
phi distribution from simulation (sw TS sw 2D sw NN)
std::string m_simNeuroTracksSWTSSW2DName
Name for neuro tracks using simulated TS and simulated 2D.
TH1F * m_neuroHWOutCosTheta
cos theta distribution of unpacked neuro tracks
TH1F * m_neuroHWSelTSPrioT_Layer4
Priority time of selected track segments in layer 4.
TH1F * m_neuroSWInputID_Layer3
simulated id input in layer 3
TH1F * m_neuroHWInputID_Layer0
unpacked id input in layer 0
TH1F * m_neuroHWSelTSLR_Layer1
Left/Right of track segments in layer 1.
TH1F * m_neuroSWTSSW2DOutZ
z distribution from simulation (sw TS sw 2D sw NN)
TH1F * m_neuroSWInputAlpha_Layer8
simulated alpha input in layer 8
TH1F * m_neuroHWOutQuad3CosTheta
cos theta distribution from unpacker (quadrant 3)
TH1F * m_neuroHWOutQuad3InvPt
Inverse Pt distribution from unpacker (quadrant 3)
TH1F * m_neuroHWInputT_Layer8
unpacked time input in layer 8
TH1F * m_neuroSWTSSW2DSelTSFoundT_Layer1
Found time of selected track segments in layer 1.
TH1F * m_neuroSWSelTSPrioB_Layer5
Priority bits of track segments in layer 5.
TH1F * m_neuroHWInTSLR_Layer7
Left/Right of track segments in layer 7.
TH1F * m_DeltaRecoSWTSSW2DZ
matched to SWTSSW2DSWNN reconstructed z
TH1F * m_2DHWInTSPrioB_Layer2
Priority bits of 2D track segments in layer 2.
TH1F * m_neuroSWTSSW2DInputID_Layer4
simulated id input in layer 4
TH1F * m_neuroHWInputAlpha_Layer8
unpacked alpha input in layer 8
TH1F * m_neuroSWInputT_Layer4
simulated time input in layer 4
TH1F * m_neuroSWSelTSPrioT_Layer5
Priority time of track segments in layer 5.
TH1F * m_neuroSWTSSW2DOutCosTheta
cos theta distribution from simulation (sw TS sw 2D sw NN)
StoreArray< CDCTriggerTrack > m_unpacked2DTracks
StoreArray for 2D finder tracks from unpacker.
TH1F * m_neuroHWInputT_Layer7
unpacked time input in layer 7
TH1F * m_2DHWInTSPrioT_Layer6
Priority time of 2D track segments in layer 6.
TH1F * m_neuroSWInputAlpha_Layer7
simulated alpha input in layer 7
TH1F * m_neuroSWTSSW2DSelTSFoundT_Layer0
Found time of selected track segments in layer 0.
TH1F * m_neuroSWTSSW2DInputAlpha_Layer4
simulated alpha input in layer 4
TH1F * m_neuroHWOutVsInTrackCount
neuroHWOutTracks - neuroHWInTrackCount
TH1F * m_RecoSWTSSW2DCosTheta
matched to SWTSSW2DSWNN reconstructed cos(theta)
TH1F * m_neuroSWTSSW2DInputID_Layer7
simulated id input in layer 7
TH1F * m_neuroHWInTSPrioB_Layer3
Priority bits of track segments in layer 3.
TH1F * m_neuroSWInputT_Layer1
simulated time input in layer 1
TH1F * m_2DHWInTSPrioB_Layer6
Priority bits of 2D track segments in layer 6.
std::string m_unpackedNeuroTracksName
Name for neuro tracks from unpacker.
TH1F * m_RecoCosTheta
reconstructed cos(theta)
TH1F * m_neuroHWSelTSLR_Layer2
Left/Right of track segments in layer 2.
TH1F * m_neuroSWSelTSLR_Layer8
Left/Right of track segments in layer 8.
TH1F * m_neuroHWOutQuad5Z
z distribution from unpacker (no quadrant set)
TH1F * m_neuroSWTSSW2DInTSPrioT_Layer4
Priority time of track segments in layer 4.
TH1F * m_neuroSWTSSW2DInTSPrioT_Layer8
Priority time of track segments in layer 8.
StoreArray< RecoTrack > m_RecoTracks
StoreArray for RecoTracks.
TH1F * m_neuroHWOutQuad5Phi0
phi distribution from unpacker (no quadrant set)
TH1F * m_neuroSWSelTSLR_Layer1
Left/Right of track segments in layer 1.
TH1F * m_RecoSWZ
matched to SW reconstructed z
TH1F * m_neuroHWSelTSFoundT_Layer2
Found time of selected track segments in layer 2.
TH1F * m_neuroSWSelTSPrioB_Layer6
Priority bits of track segments in layer 6.
TH1F * m_neuroSWSelTSFoundT_Layer8
Found time of track segments in layer 8.
TH1F * m_neuroHWSelTSPrioB_Layer1
Priority bits of track segments in layer 1.
TH1F * m_neuroSWInputAlpha_Layer2
simulated alpha input in layer 2
TH1F * m_neuroSWTSSW2DInputT_Layer8
simulated time input in layer 8
TH1F * m_neuroSWSelTSPrioB_Layer2
Priority bits of track segments in layer 2.
TH1F * m_neuroSWTSSW2DInTSPrioT_Layer5
Priority time of track segments in layer 5.
TH1F * m_neuroSWTSSW2DSelTSLR_Layer0
Left/Right of track segments in layer 0.
TH1F * m_neuroSWTSSW2DInTSLR_Layer7
Left/Right of track segments in layer 7.
TH1F * m_neuroHWOutHitPattern
stereo hit pattern of simulated neuro tracks (hw TS hw 2D sw NN)
TH1F * m_neuroHWOutQuad0InvPt
Inverse Pt distribution from unpacker (quadrant 0)
TH1F * m_DeltaRecoSWTSSW2DPhi
matched to SWTSSW2DSWNN reconstructed phi
TH1F * m_neuroSWTSSW2DSelTSPrioB_Layer1
Priority bits of track segments in layer 1.
TH1F * m_DeltaRecoHWPhi
matched to HW reconstructed phi
TH1F * m_neuroHWInTSPrioT_Layer7
Priority time of track segments in layer 7.
TH1F * m_neuroHWOutQuad2CosTheta
cos theta distribution from unpacker (quadrant 2)
TH1F * m_neuroSWTSSW2DSelTSCount
number of TS per SL
TH1F * m_DeltaRecoSWPhi
matched to SW reconstructed phi
TH1F * m_neuroSWTSSW2DSelTSPrioB_Layer2
Priority bits of track segments in layer 2.
TH1F * m_neuroSWTSSW2DInTSPrioB_Layer2
Priority bits of track segments in layer 2.
TH1F * m_neuroSWTSSW2DSelTSLR_Layer7
Left/Right of track segments in layer 7.
TH1F * m_neuroRecoHWOutTrackCount
reco matched number of unpacked and matched tracks per event
TH1F * m_neuroHWSelTSPrioT_Layer8
Priority time of selected track segments in layer 8.
TH1F * m_neuroDeltaTSID
unpacked selected TSID - TSIM selected TSID
StoreArray< CDCTriggerTrack > m_simNeuroTracksSWTSSW2D
StoreArray for neuro tracks using simulated TS and simulated 2D.
TH1F * m_neuroSWTSSW2DInTSFoundT_Layer8
Found time of track segments in layer 8.
TH1F * m_neuroHWInTSLR_Layer1
Left/Right of track segments in layer 1.
TH1F * m_neuroHWInputAlpha_Layer6
unpacked alpha input in layer 6
TH1F * m_neuroHWOutQuad5InvPt
Inverse Pt distribution from unpacker (no quadrant set)
TH1F * m_neuroHWInputT_Layer3
unpacked time input in layer 3
TH1F * m_neuroRecoSWOutPhi0
reco matched phi distribution from simulation (hw TS hw 2D sw NN)
TH1F * m_neuroHWInputT_Layer5
unpacked time input in layer 5
TH1F * m_neuroHWSelTSPrioB_Layer0
Priority bits of track segments in layer 0.
TH1F * m_neuroSWTSSW2DInputAlpha_Layer0
simulated alpha input in layer 0
TH1F * m_neuroHWInputID_Layer8
unpacked id input in layer 8
TH1F * m_neuroSWTSSW2DInputAlpha_Layer8
simulated alpha input in layer 8
TH1F * m_neuroHWInTSPrioB_Layer0
Priority bits of track segments in layer 0.
TH1F * m_neuroHWInputT_Layer6
unpacked time input in layer 6
TH1F * m_neuroHWInTSPrioT_Layer6
Priority time of track segments in layer 6.
TH1F * m_neuroSWTSSW2DInTSLR_Layer8
Left/Right of track segments in layer 8.
TH1F * m_neuroRecoSWOutCosTheta
reco matched cos theta distribution from simulation (hw TS hw 2D sw NN)
TH1F * m_neuroHWSelTSLR_Layer8
Left/Right of track segments in layer 8.
TH1F * m_2DHWInTSPrioT_Layer4
Priority time of 2D track segments in layer 4.
TH1F * m_neuroSWTSSW2DInTSPrioT_Layer3
Priority time of track segments in layer 3.
TH1F * m_neuroSWSelTSFoundT_Layer7
Found time of track segments in layer 7.
TH1F * m_neuroSWTSSW2DInputT_Layer4
simulated time input in layer 4
TH1F * m_neuroHWSelTSFoundT_Layer3
Found time of selected track segments in layer 3.
TH1F * m_neuroHWOutQuad2Phi0
phi distribution from unpacker (quadrant 2)
TH1F * m_neuroSWTSSW2DInTSFoundT_Layer0
Found time of track segments in layer 0.
TH1F * m_neuroHWInTSID
ID of incoming track segments.
virtual void defineHisto() override
Histogram definitions such as TH1(), TH2(), TNtuple(), TTree()....
TH1F * m_neuroSWTSSW2DSelTSPrioT_Layer1
Priority time of selected track segments in layer 1.
TH1F * m_neuroHWSelTSID
ID of selected track segments.
TH1F * m_neuroSWTSSW2DInputID_Layer1
simulated id input in layer 1
TH1F * m_neuroSWTSSW2DSelTSPrioT_Layer3
Priority time of selected track segments in layer 3.
TH1F * m_RecoSWInvPt
matched to SW reconstructed inverse Pt
Combination of several CDCHits to a track segment hit for the trigger.
Track created by the CDC trigger.
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.