Belle II Software development
TRGCDCTrackSegmentFinder Class Reference

a class of TrackSegmentFinder in TRGCDC More...

#include <TrackSegmentFinder.h>

Inheritance diagram for TRGCDCTrackSegmentFinder:
TRGBoard

Public Types

enum  boardType {
  innerType = 0 ,
  outerType = 1 ,
  unknown = 999
}
 enum of boardType of TrackSegmentFinder More...
 

Public Member Functions

 TRGCDCTrackSegmentFinder (const TRGCDC &, bool makeRootFile, bool logicLUTFlag)
 Constructor.
 
 TRGCDCTrackSegmentFinder (const TRGCDC &, const std::string &name, boardType type, const TRGClock &systemClock, const TRGClock &dataClock, const TRGClock &userClockInput, const TRGClock &userClockOutput, const std::vector< TRGCDCSegment * > &tsSL)
 Constructor.
 
 ~TRGCDCTrackSegmentFinder ()
 Destructor.
 
void doit (std::vector< TRGCDCSegment * > &tss, const bool trackSegmentClockSimulation, std::vector< TRGCDCSegmentHit * > &segmentHits, std::vector< TRGCDCSegmentHit * > *segmentHitsSL)
 Member functions of doing TSF.
 
void terminate (void)
 terminate
 
void saveTSInformation (std::vector< TRGCDCSegment * > &tss)
 save the TS info
 
void saveTSFResults (std::vector< TRGCDCSegmentHit * > *segmentHitsSL)
 save result of TSF
 
void saveNNTSInformation (std::vector< TRGCDCSegment * > &tss)
 Saves NNTS information. Only when ts is hit.
 
vector< TRGSignalVector * > findTSHit (TRGSignalVector *eachInput, int)
 Use LUT for find TSHit.
 
TRGSignalVectorpackerOuterTracker (vector< TRGSignalVector * > &, vector< int > &, const unsigned)
 Packing output for tracker.
 
TRGSignalVectorpackerOuterEvt (vector< TRGSignalVector * >, vector< int >, int)
 Packing output for evtTime & Low pT.
 
boardType type (void) const
 board type of TSF
 
TRGSignalBundleoutputE (void)
 signal bundle of outputE
 
TRGSignalBundleoutputT (void)
 signal bundle of outputT
 
void push_back (const TRGCDCMerger *)
 push back the Mergers of this TSF
 
void simulateBoard (void)
 firmware simulation.
 
void simulate (void)
 Firmware simulation. yi.
 
void simulate2 (void)
 Firmware simulation. Unified version of inner and outer : yi.
 
void hitMapInner (void)
 Creates the hit maps for the inner.
 
void hitMapOuter (void)
 Creates the hit maps for the outer.
 
void inputInner (const unsigned id, const unsigned nTSF, TRGSignalVector *s)
 Creates input signals to TSF for the inner.
 
void inputOuter (const unsigned id, const unsigned nTSF, TRGSignalVector *s)
 Creates input signals to TSF for the outer.
 
vector< TRGSignalVector * > simulateInner (const TRGSignalVector &in, unsigned id)
 Simulate TSF response for the inner.
 
vector< TRGSignalVector * > simulateOuter (TRGSignalVector *in, unsigned id)
 Simulate TSF response for the inner.
 
vector< TRGSignalVector * > simulateTSFOld (TRGSignalVector *in, unsigned id)
 Simulate TSF response (unified version)
 
vector< TRGSignalVector * > simulateTSF (TRGSignalVector *in, unsigned id)
 Simulate TSF response (unified version, 2016/07/12)
 
vector< TRGSignalVector * > simulateTSF2 (TRGSignalVector *in, unsigned id)
 Simulate TSF response (unified version, state machine)
 
TRGSignalVectorpackerForTracker (vector< TRGSignalVector * > &, vector< int > &, const unsigned)
 Output packer for tracker.
 
TRGSignalVectorpackerForETF (vector< TRGSignalVector * > &, vector< int > &, const unsigned)
 Output packer for ETF.
 
double mkint (TRGState)
 tranformatoin into integer
 
vector< bool > mkbool (int, int)
 tranformatoin into bool
 
const std::string & name (void) const
 returns name.
 
const TRGClockclockSystem (void) const
 returns system clock.
 
const TRGClockclockData (void) const
 returns data clock.
 
const TRGClockclockUserInput (void) const
 returns Aurora user clock for input.
 
const TRGClockclockUserOutput (void) const
 returns Aurora user clock for output.
 
unsigned nInput (void) const
 returns input channels.
 
const TRGChannelinput (unsigned i) const
 returns input channel i.
 
unsigned nOutput (void) const
 returns output channels.
 
TRGChanneloutput (unsigned i) const
 returns output channel i.
 
void dump (const std::string &message="", const std::string &pre="") const
 dumps contents.
 
void appendInput (const TRGChannel *)
 appends an input Aurora channel.
 
void appendOutput (TRGChannel *)
 appends an output Aurora channel.
 

Static Public Member Functions

static std::string version (void)
 return version
 

Public Attributes

const TRGCDC_cdc
 Members.
 
bool m_logicLUTFlag
 0 is Logic. 1 is LUT.
 
std::string m_rootTSFFilename
 ROOT file name string.
 
TFile * m_fileTSF
 ROOT file.
 
TTree * m_treeInputTSF = nullptr
 ROOT TTree for input.
 
TClonesArray * m_hitPatternInformation = nullptr
 Stores hitpattern information.
 
TTree * m_treeOutputTSF = nullptr
 ROOT TTree for output.
 
TClonesArray * m_particleEfficiency = nullptr
 [Efficiency, Pt, # MC TS] Efficiency = -1 means that # MC TS is 0.
 
TClonesArray * m_tsInformation = nullptr
 [SuperLayer Id, Wire Id, Priority Timing]
 
TTree * m_treeNNTSF = nullptr
 ROOT Tree for NNTSF.
 
TClonesArray * m_nnPatternInformation = nullptr
 [superlayer id, lrDriftTime, timeWire0, timeWire1, ..., ...]
 
bool m_makeRootFile = false
 make ROOT file or not
 
elements
 STL member.
 

Private Member Functions

void simulateInner (void)
 Firmware simulation for the outers. yi.
 
void simulateOuter (void)
 Firmware simulation for the outers. yi.
 
void priorityTiming (unsigned tsfID, const unsigned nTSF, TRGSignalVector &s, const TRGSignal &center, const TRGSignal &right, const TRGSignal &left) const
 Make TRGSignals for the priority timing bits.
 
void fastestTimingInner (unsigned tsfID, const unsigned nTSF, TRGSignalVector &s) const
 Make TRGSignals for the fastest timing bits.
 
void fastestTimingOuter (unsigned tsfID, const unsigned nTSF, TRGSignalVector &s) const
 Make TRGSignals for the fastest timing bits.
 

Static Private Member Functions

static void addID (TRGSignalVector &s, unsigned id)
 Add TSF ID to timing signal vector for the output.
 

Private Attributes

boardType _type
 Unit type.
 
TRGSignalBundle_tosbE
 Input signal bundle.
 
TRGSignalBundle_tosbT
 Output signal bundle.
 
std::vector< TCSegment * > _tsSL
 list of TSF
 
std::vector< TRGSignalVector * > _tsfIn
 TSF input storage.
 
std::vector< TRGSignalVector * > _tsfOut
 TSF response storeage.
 
std::vector< TRGSignalVector * > _toBeDeleted
 One time info. to be deleted in next event;.
 
std::vector< TRGSignal * > _hitMap [5]
 Internal data of wire hit map.
 
std::vector< TRGSignal * > _priMap
 Internal data of the priority hit timing.
 
std::vector< TRGSignal * > _fasMap
 Internal data of the fastest hit timing.
 
std::vector< TRGSignal * > _secMap
 Internal data of the priority cell hit position flag.
 
std::vector< TRGSignal * > _edg0Map
 Internal data of the edge timing information.
 
std::vector< TRGSignal * > _edg1Map
 Internal data of the edge timing information.
 
std::vector< TRGSignal * > _edg2Map
 Internal data of the edge timing information.
 
std::vector< TRGSignal * > _edg3Map
 Internal data of the edge timing information.
 
std::vector< TRGSignal * > _edg4Map
 Internal data of the edge timing information.
 
const std::string _name
 Name of a board.
 
const TRGClock_clockSystem
 System clock.
 
const TRGClock_clockData
 Data clock.
 
const TRGClock_clockUserInput
 User clock.
 
const TRGClock_clockUserOutput
 User clock.
 
std::vector< const TRGChannel * > _inputChannels
 Input Aurora channel.
 
std::vector< TRGChannel * > _outputChannels
 Output Aurora channel.
 

Detailed Description

a class of TrackSegmentFinder in TRGCDC

Definition at line 40 of file TrackSegmentFinder.h.

Member Enumeration Documentation

◆ boardType

enum boardType

enum of boardType of TrackSegmentFinder

Definition at line 46 of file TrackSegmentFinder.h.

46 {
47 innerType = 0,
48 outerType = 1,
49 unknown = 999
50 };

Member Function Documentation

◆ outputE()

TRGSignalBundle * outputE ( void  )
inline

signal bundle of outputE

Definition at line 150 of file TrackSegmentFinder.h.

150{return _tosbE;};
TRGSignalBundle * _tosbE
Input signal bundle.

◆ outputT()

TRGSignalBundle * outputT ( void  )
inline

signal bundle of outputT

Definition at line 152 of file TrackSegmentFinder.h.

152{return _tosbT;};
TRGSignalBundle * _tosbT
Output signal bundle.

Member Data Documentation

◆ _cdc

const TRGCDC& _cdc

Members.

Definition at line 85 of file TrackSegmentFinder.h.

◆ _clockData

const TRGClock* _clockData
privateinherited

Data clock.

Definition at line 90 of file Board.h.

◆ _clockSystem

const TRGClock* _clockSystem
privateinherited

System clock.

Definition at line 87 of file Board.h.

◆ _clockUserInput

const TRGClock* _clockUserInput
privateinherited

User clock.

Definition at line 93 of file Board.h.

◆ _clockUserOutput

const TRGClock* _clockUserOutput
privateinherited

User clock.

Definition at line 96 of file Board.h.

◆ _edg0Map

std::vector<TRGSignal* > _edg0Map
private

Internal data of the edge timing information.

Definition at line 283 of file TrackSegmentFinder.h.

◆ _edg1Map

std::vector<TRGSignal* > _edg1Map
private

Internal data of the edge timing information.

Definition at line 286 of file TrackSegmentFinder.h.

◆ _edg2Map

std::vector<TRGSignal* > _edg2Map
private

Internal data of the edge timing information.

Definition at line 289 of file TrackSegmentFinder.h.

◆ _edg3Map

std::vector<TRGSignal* > _edg3Map
private

Internal data of the edge timing information.

Definition at line 292 of file TrackSegmentFinder.h.

◆ _edg4Map

std::vector<TRGSignal* > _edg4Map
private

Internal data of the edge timing information.

Definition at line 295 of file TrackSegmentFinder.h.

◆ _fasMap

std::vector<TRGSignal* > _fasMap
private

Internal data of the fastest hit timing.

Definition at line 277 of file TrackSegmentFinder.h.

◆ _hitMap

std::vector<TRGSignal* > _hitMap[5]
private

Internal data of wire hit map.

Definition at line 271 of file TrackSegmentFinder.h.

◆ _inputChannels

std::vector<const TRGChannel*> _inputChannels
privateinherited

Input Aurora channel.

Definition at line 99 of file Board.h.

◆ _name

const std::string _name
privateinherited

Name of a board.

Definition at line 84 of file Board.h.

◆ _outputChannels

std::vector<TRGChannel*> _outputChannels
privateinherited

Output Aurora channel.

Definition at line 102 of file Board.h.

◆ _priMap

std::vector<TRGSignal* > _priMap
private

Internal data of the priority hit timing.

Definition at line 274 of file TrackSegmentFinder.h.

◆ _secMap

std::vector<TRGSignal* > _secMap
private

Internal data of the priority cell hit position flag.

Definition at line 280 of file TrackSegmentFinder.h.

◆ _toBeDeleted

std::vector<TRGSignalVector*> _toBeDeleted
private

One time info. to be deleted in next event;.

Definition at line 268 of file TrackSegmentFinder.h.

◆ _tosbE

TRGSignalBundle* _tosbE
private

Input signal bundle.

Output signal bundle.

Definition at line 255 of file TrackSegmentFinder.h.

◆ _tosbT

TRGSignalBundle* _tosbT
private

Output signal bundle.

Definition at line 257 of file TrackSegmentFinder.h.

◆ _tsfIn

std::vector<TRGSignalVector*> _tsfIn
private

TSF input storage.

Definition at line 262 of file TrackSegmentFinder.h.

◆ _tsfOut

std::vector<TRGSignalVector*> _tsfOut
private

TSF response storeage.

Definition at line 265 of file TrackSegmentFinder.h.

◆ _tsSL

std::vector<TCSegment*> _tsSL
private

list of TSF

Definition at line 259 of file TrackSegmentFinder.h.

◆ _type

boardType _type
private

Unit type.

Definition at line 249 of file TrackSegmentFinder.h.

◆ m_fileTSF

TFile* m_fileTSF

ROOT file.

Definition at line 92 of file TrackSegmentFinder.h.

◆ m_hitPatternInformation

TClonesArray* m_hitPatternInformation = nullptr

Stores hitpattern information.

Definition at line 101 of file TrackSegmentFinder.h.

◆ m_logicLUTFlag

bool m_logicLUTFlag

0 is Logic. 1 is LUT.

Definition at line 87 of file TrackSegmentFinder.h.

◆ m_makeRootFile

bool m_makeRootFile = false

make ROOT file or not

Definition at line 117 of file TrackSegmentFinder.h.

◆ m_nnPatternInformation

TClonesArray* m_nnPatternInformation = nullptr

[superlayer id, lrDriftTime, timeWire0, timeWire1, ..., ...]

Definition at line 114 of file TrackSegmentFinder.h.

◆ m_particleEfficiency

TClonesArray* m_particleEfficiency = nullptr

[Efficiency, Pt, # MC TS] Efficiency = -1 means that # MC TS is 0.

Definition at line 107 of file TrackSegmentFinder.h.

◆ m_rootTSFFilename

std::string m_rootTSFFilename

ROOT file name string.

Definition at line 90 of file TrackSegmentFinder.h.

◆ m_treeInputTSF

TTree* m_treeInputTSF = nullptr

ROOT TTree for input.

Definition at line 95 of file TrackSegmentFinder.h.

◆ m_treeNNTSF

TTree* m_treeNNTSF = nullptr

ROOT Tree for NNTSF.

Definition at line 112 of file TrackSegmentFinder.h.

◆ m_treeOutputTSF

TTree* m_treeOutputTSF = nullptr

ROOT TTree for output.

Definition at line 104 of file TrackSegmentFinder.h.

◆ m_tsInformation

TClonesArray* m_tsInformation = nullptr

[SuperLayer Id, Wire Id, Priority Timing]

Definition at line 109 of file TrackSegmentFinder.h.


The documentation for this class was generated from the following files: