#include <TTrbProc.h>
Public Member Functions | |
TTrbProc () | |
TTrbProc (const char *name) | |
virtual | ~TTrbProc () |
virtual void | InitEvent (TGo4EventElement *evt) |
virtual void | ProcessSubevent (TGo4MbsSubEvent *subevt) |
virtual Bool_t | BuildEvent (TGo4EventElement *) |
virtual void | FinalizeEvent () |
Short_t | GetTriggerNumber () const |
Int_t | GetEventNumber () const |
Long_t | ExecuteScript (const char *script_name) |
Protected Member Functions | |
void | ProcessTrbSubevent (Trb_Subevent *sub) |
void | ResetTDCV3TriggerTimes () |
void | ProcessTDCV3 (Trb_Subevent *sub) |
void | EvaluateTDCV3Data (UShort_t board=0) |
void | DumpData (Trb_Subevent *hadsubevent) |
Bool_t | IsAnyCalibration () const |
Bool_t | WithoutCalibration () const |
double | GetLinearFineCalibration (unsigned fine_cnt) |
void | AddSubProcessor (TCBMBeamtimeProc *) |
Protected Attributes | |
TCBMBeamtimeEvent * | fBeamtimeEvent |
TGo4MbsEvent * | fMbsInput |
Short_t | fMbsTriggerNumber |
Int_t | fMbsEventNumber |
Private Member Functions | |
void | DoCalibration (UShort_t board, UShort_t tdc, UShort_t ch, Bool_t generalcal, Bool_t contcal) |
void | GenHistos1 (TString dirname, Int_t b, Int_t t) |
void | GenHistos2 (TString dirname, Int_t b, Int_t t, Int_t i) |
void | GenHistos3 (TString dirname, Int_t b, Int_t t, Int_t i) |
Private Attributes | |
TH1 * | hTDCDataVolume |
TH1 * | hSubevSize |
bool | fCanAssignTrigger |
bool | fCurrentTriggerType |
unsigned | fLastTriggerId |
int | fLostTriggerCnt |
int | fTakenTriggerCnt |
TH1 * | hLostRate |
TH1 * | hEventMultipl [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hPulserMultipl [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
int | fNumHitsSelected [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hTriggerCount [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hChannelCount [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hLeadingCoarseAll [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hLeadingFineAll [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hLeadingDeltaCalAll [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hLeadingDeltaCalAllFine [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hTrailingCoarseAll [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hTrailingFineAll [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hTrailingDeltaCalAll [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hLeadingCoarse [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hLeadingFine [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hLeadingFineBuffer [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hLeadingDeltaCal [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hLeadingDeltaRef [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hTrailingCoarse [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hTrailingFine [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hTrailingFineBuffer [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hTrailingDeltaCal [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hTrailingDeltaRef [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH2 * | hLeadingCoarseAllChans [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH2 * | hLeadingFineAllChans [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH2 * | hTrailingCoarseAllChans [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH2 * | hTrailingFineAllChans [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TH1 * | hCalcBinWidth [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hCalBinTime [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
TH1 * | hTrbTriggerCount |
TH1 * | hEpoch [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TGo4WinCond * | cLeadingFineTimeGate [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TGo4WinCond * | cLeadingCoarseTimeGate [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TGo4WinCond * | cTrailingFineTimeGate [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TGo4WinCond * | cTrailingCoarseTimeGate [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TGo4WinCond * | cLeadingDeltaTimeGate [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
TGo4WinCond * | cTrailingDeltaTimeGate [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] |
Bool_t | fbHasCalibration [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] |
Bool_t | fNoCalibration |
TTrbParam * | fPar |
TTrbEvent * | fOutEvent |
UInt_t | fSubeventStatus |
Double_t | fLastTrigTime [TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][2] |
std::vector< TTrbRawHit > | fRawHits [TRB_TDC3_NUMBOARDS] |
Static Private Attributes | |
static const TString | leadingcoarseallname = "LeadingCoarseAllChans" |
static const TString | leadingfineallname = "LeadingFineAllChans" |
static const TString | leadingdeltacalallname = "LeadingDeltaCalAllChans" |
static const TString | trailingcoarseallname = "TrailingCoarseAllChans" |
static const TString | trailingfineallname = "TrailingFineAllChans" |
static const TString | trailingdeltacalallname = "TrailingDeltaCalAllChans" |
Definition at line 13 of file TTrbProc.h.
TTrbProc::TTrbProc | ( | ) |
Definition at line 216 of file TTrbProc.cxx.
TTrbProc::TTrbProc | ( | const char * | name | ) |
Init user analysis objects
Histograms
Reset calibration flag for each channel
Leading edges
Trailing edges
Calibration histograms
Reset time bin correction arrays
Reset time bin correction arrays
Maps for all channels - TH2 (resolution lowered by 2 for coarse and by4 in fine)
Leading edges
Trailing edges
Trigger count
HEADER - counter of tdc and data headers
this is within the tdc data (after tdc header) [ INVALID - counter of data headers with the (error bits != 0) LEADING - counter of data words with the (isrising bit == 1) TRAILING - counter of data words with the (isrising bit == 0) EPOCH - counter of epoch words DEBUG - counter of debug words RESERVED - counter of reserved words ]
(at least must be) TOTAL = HEADER + LEADING + TRAILING + EPOCH + DEBUG + RESERVED
Conditions
Absolute times - Leading edges
Absolute times - Trailing edges
Delta times - Leading Edges
Delta times - Trailing Edges
Pictures
Leading edges
Trailing edges
Here we optionally override conditions with setup macro, if existing
Here we protect calibration histogramms
Definition at line 221 of file TTrbProc.cxx.
References TTrbEvent::AssertTDC(), TTrbEvent::AssertTRB(), cLeadingCoarseTimeGate, cLeadingDeltaTimeGate, cLeadingFineTimeGate, cTrailingCoarseTimeGate, cTrailingDeltaTimeGate, cTrailingFineTimeGate, TCBMBeamtimeProc::ExecuteScript(), fbHasCalibration, TTrbParam::fEventCount, TTrbParam::fillRaw, fLastTriggerId, fLostTriggerCnt, fOutEvent, fPar, fTakenTriggerCnt, GenHistos1(), GenHistos2(), GenHistos3(), hCalBinTime, hCalcBinWidth, hChannelCount, hEventMultipl, hLeadingCoarse, hLeadingCoarseAll, hLeadingCoarseAllChans, hLeadingDeltaCal, hLeadingDeltaCalAll, hLeadingDeltaCalAllFine, hLeadingDeltaRef, hLeadingFine, hLeadingFineAll, hLeadingFineAllChans, hLeadingFineBuffer, hLostRate, hPulserMultipl, hSubevSize, hTDCDataVolume, hTrailingCoarse, hTrailingCoarseAll, hTrailingCoarseAllChans, hTrailingDeltaCal, hTrailingDeltaCalAll, hTrailingDeltaRef, hTrailingFine, hTrailingFineAll, hTrailingFineAllChans, hTrailingFineBuffer, hTrbTriggerCount, hTriggerCount, leadingcoarseallname, leadingdeltacalallname, leadingfineallname, TTrbParam::processTrailing, TTrbParam::SetConfigTrbs(), trailingcoarseallname, trailingdeltacalallname, trailingfineallname, TRB_TDC3_COARSEBINS, TRB_TDC3_COARSEUNIT, TRB_TDC3_FINEBINS, and WithoutCalibration().
TTrbProc::~TTrbProc | ( | ) | [virtual] |
Definition at line 569 of file TTrbProc.cxx.
void TCBMBeamtimeProc::AddSubProcessor | ( | TCBMBeamtimeProc * | proc | ) | [protected, inherited] |
Definition at line 41 of file TCBMBeamtimeProc.cxx.
References TCBMBeamtimeProc::fSubProcessors.
Referenced by TCernGem12DetectorProc::TCernGem12DetectorProc(), TCernGem12FinalProc::TCernGem12FinalProc(), TCernGem12UnpackProc::TCernGem12UnpackProc(), TCernOct11DetectorProc::TCernOct11DetectorProc(), TCernOct11UnpackProc::TCernOct11UnpackProc(), TCernOct12DetectorProc::TCernOct12DetectorProc(), TCernOct12FinalProc::TCernOct12FinalProc(), TCernOct12UnpackProc::TCernOct12UnpackProc(), TCosyJan12DetectorProc::TCosyJan12DetectorProc(), TCosyJan12FinalProc::TCosyJan12FinalProc(), TCosyJan12UnpackProc::TCosyJan12UnpackProc(), TCosyNov11DetectorProc::TCosyNov11DetectorProc(), TCosyNov11UnpackProc::TCosyNov11UnpackProc(), TGsiAug12CalibrationProc::TGsiAug12CalibrationProc(), TGsiAug12DetectorProc::TGsiAug12DetectorProc(), TGsiAug12OutputProc::TGsiAug12OutputProc(), TGsiAug12TrackingProc::TGsiAug12TrackingProc(), TGsiAug12UnpackProc::TGsiAug12UnpackProc(), TLaserTest12DetectorProc::TLaserTest12DetectorProc(), and TLaserTest12UnpackProc::TLaserTest12UnpackProc().
Bool_t TCBMBeamtimeProc::BuildEvent | ( | TGo4EventElement * | outevnt | ) | [virtual, inherited] |
Reimplemented in TCernNov10Proc, TCosyDec10Proc, TRocProc, and TSpadicProc.
Definition at line 52 of file TCBMBeamtimeProc.cxx.
References TCBMBeamtimeProc::fBeamtimeEvent, TCBMBeamtimeProc::FinalizeEvent(), TCBMBeamtimeProc::fMbsEventNumber, TCBMBeamtimeProc::fMbsInput, TCBMBeamtimeProc::fMbsTriggerNumber, TCBMBeamtimeProc::fProcIterator, TCBMBeamtimeProc::InitEvent(), and TCBMBeamtimeProc::ProcessSubevent().
void TTrbProc::DoCalibration | ( | UShort_t | board, | |
UShort_t | tdc, | |||
UShort_t | ch, | |||
Bool_t | generalcal, | |||
Bool_t | contcal | |||
) | [private] |
We use sum of leading and trailing times for calibration
Since we did clone originals here!
Definition at line 1374 of file TTrbProc.cxx.
References fbHasCalibration, fPar, hCalBinTime, hCalcBinWidth, hLeadingFine, hLeadingFineBuffer, hTrailingFine, hTrailingFineBuffer, TTrbParam::processTrailing, and TRB_TDC3_COARSEUNIT.
Referenced by EvaluateTDCV3Data().
void TTrbProc::DumpData | ( | Trb_Subevent * | hadsubevent | ) | [protected] |
Default printout of data fields if switched on in parameter
Definition at line 1440 of file TTrbProc.cxx.
References Trb_Subevent::Alignment(), Trb_Subevent::Data(), Trb_Subevent::GetDecoding(), and Trb_Subevent::GetSize().
Referenced by ProcessTrbSubevent().
void TTrbProc::EvaluateTDCV3Data | ( | UShort_t | board = 0 |
) | [protected] |
Evaluate data method
First half for leading, second for trailing
Check that only general or only continuous calibration is switched on
Get the pointer to the board
Check here if input data was valid
Check if the calibration should be done on the current event (according to the period)
Reference channel calibrating and last trig time filling (from the reference channel) Here refchCounter is the counter of reference channel hits. refchCounter should be 1 for the channel where the data comes (where datachCounter > 0), other case is errornous
Initialization of counters
Counting the number of hits in the reference and other channels of each TDC Calibrating reference channel if needed
This is a reference channel - so, calibrating a reference channel
Everything is ok in case if we have data packages only in the TDCs that have only one hit in the reference channel We may also have reference channel hits with no data channel hits. I allow this by now.
Here we check if the reference channel has calibration. If calibrated - compute the difference If not, skip only difference computation, but keep collecting the statistics
last trig time from the refHit - ONLY FOR LEADING
last trig time from the refHit - ONLY FOR TRAILING
Main loop
Fine
Coarse
Fine
TODO: Do we need to compute differences of the reference channel (to itself)?
Update calibration if necessary TODO - optimize (how?)
Skip not configured delta channel - in fact, obsolete
Full time current
Full time reference is formed in the previous loop through the RAW hits.
Delta T = full(cur) - full(ref)
Full time current
Full time difference
Histograms
PAIRS
Sending the output data!!!
Full time current
Full time difference
Histograms
PAIRS
Sending the output data!!!
Definition at line 1017 of file TTrbProc.cxx.
References TTrbEvent::AssertTDC(), TTrbParam::calibrationPeriod, cLeadingCoarseTimeGate, cLeadingDeltaTimeGate, cLeadingFineTimeGate, TTrbParam::continuousCalibration, cTrailingCoarseTimeGate, cTrailingFineTimeGate, DoCalibration(), EPRINT, fbHasCalibration, fCanAssignTrigger, TTrbParam::fEventCount, TTrbData::fHits, fLastTrigTime, fNumHitsSelected, fOutEvent, fPar, fRawHits, fSubeventStatus, TTrbParam::generalCalibration, TTrbRawHit::GetChannel(), TTrbRawHit::GetLCTime(), TTrbRawHit::GetLEpoch(), TTrbRawHit::GetLFTime(), GetLinearFineCalibration(), TTrbRawHit::GetTCTime(), TTrbRawHit::GetTDC(), TTrbRawHit::GetTEpoch(), TTrbRawHit::GetTFTime(), hCalBinTime, hChannelCount, hLeadingCoarse, hLeadingCoarseAll, hLeadingCoarseAllChans, hLeadingDeltaCal, hLeadingDeltaCalAll, hLeadingDeltaCalAllFine, hLeadingFine, hLeadingFineAll, hLeadingFineAllChans, hLeadingFineBuffer, hTrailingCoarse, hTrailingCoarseAll, hTrailingCoarseAllChans, hTrailingDeltaCal, hTrailingDeltaCalAll, hTrailingFine, hTrailingFineAll, hTrailingFineAllChans, hTrailingFineBuffer, hTriggerCount, IsAnyCalibration(), TTrbRawHit::IsLeading(), TTrbRawHit::IsTrailing(), TTrbParam::processTrailing, TTrbParam::refChannel, TTrbRawHit::SetLeadingTimeCorr(), TTrbRawHit::SetTrailingTimeCorr(), TRB_TDC3_COARSEUNIT, TRB_TDC3_EPOCHUNIT, TRB_TDC3_NUMTDC, and WithoutCalibration().
Referenced by ProcessTrbSubevent().
Long_t TCBMBeamtimeProc::ExecuteScript | ( | const char * | script_name | ) | [inherited] |
Temporary here - will be from 4.5.3 version in distribution
Definition at line 142 of file TCBMBeamtimeProc.cxx.
Referenced by TCernOct12UnpackProc::TCernOct12UnpackProc(), TFaspProc::TFaspProc(), TFiberHodProc::TFiberHodProc(), TSpadicV10Proc::TSpadicV10Proc(), and TTrbProc().
virtual void TCBMBeamtimeProc::FinalizeEvent | ( | ) | [inline, virtual, inherited] |
Reimplemented in TGem1Proc, TGem2Proc, TTrackingProc, TTRDBucharestProc, TTRDDubnaProc, TTRDMuensterFrankfurtProc, TRICHProc, TBeamMonitorProc, TTRDBucharestProc, TTRDMuensterFrankfurtProc, TRICHProc, TBeamMonitorProc, TTrackingProc, TGEMProc, TSTSProc, TBeamMonitorProc, TTrackingProc, TBucharestProc, TDiamondProc, TRootConverterProc, TRossendorfProc, TRPCProc, TSiStripsProc, TBeamMonitorProc, TGet4v1Proc, TMatchingProc, TPlasticsProc, TRootConverterProc, TRpcProc, TScalersProc, TVftxProc, TBucharestProc, TBeamMonitorProc, TRootConverterProc, TRossendorfProc, TRPCProc, TVftxProc, TMatchingProc, TPadRpcProc, TPlasticsProc, TRootConverterProc, TRpcProc, TScalersProc, TVftxProc, TSTSProc, TGet4v1Proc, TMatchingProc, TPadRpcProc, TPlasticsProc, TRootConverterProc, TRpcProc, TScalersProc, TVftxProc, TEpicsProc, TFiberHodProc, TRocProc, and TSpadicV10Proc.
Definition at line 39 of file TCBMBeamtimeProc.h.
Referenced by TCBMBeamtimeProc::BuildEvent().
void TTrbProc::GenHistos1 | ( | TString | dirname, | |
Int_t | b, | |||
Int_t | t | |||
) | [private] |
Aux procedures of generating histograms. Called only from the constructor.
histo name tbins trange hLeadingCoarseAll TRB_TDC3_COARSEBINS TRB_TDC3_EPOCHUNIT hLeadingFineAll TRB_TDC3_FINEBINS TRB_TDC3_FINEBINS hLeadingDeltaCalAll TRB_TDC3_DELTAHISTBINS / 4 TRB_TDC3_DELTAHISTBINS hTrailingCoarseAll TRB_TDC3_COARSEBINS TRB_TDC3_EPOCHUNIT hTrailingFineAll TRB_TDC3_FINEBINS TRB_TDC3_FINEBINS hTrailingDeltaCalAll TRB_TDC3_DELTAHISTBINS / 4 TRB_TDC3_DELTAHISTBINS hEpoch TRB_TDC3_EPOCHBINS / 1024 TRB_TDC3_EPOCHUNIT * TRB_TDC3_EPOCHBINS
Definition at line 38 of file TTrbProc.cxx.
References fPar, hEpoch, hLeadingCoarseAll, hLeadingDeltaCalAll, hLeadingDeltaCalAllFine, hLeadingFineAll, hTrailingCoarseAll, hTrailingDeltaCalAll, hTrailingFineAll, leadingcoarseallname, leadingdeltacalallname, leadingfineallname, TTrbParam::processTrailing, trailingcoarseallname, trailingdeltacalallname, trailingfineallname, TRB_TDC3_DELTAHISTBINS, TRB_TDC3_EPOCHBINS, and TRB_TDC3_EPOCHUNIT.
Referenced by TTrbProc().
void TTrbProc::GenHistos2 | ( | TString | dirname, | |
Int_t | b, | |||
Int_t | t, | |||
Int_t | i | |||
) | [private] |
histo name tbins trange hLeadingCoarse TRB_TDC3_COARSEBINS TRB_TDC3_EPOCHUNIT hLeadingFine TRB_TDC3_FINEBINS TRB_TDC3_FINEBINS hLeadingFineBuffer TRB_TDC3_FINEBINS TRB_TDC3_FINEBINS hLeadingDeltaCal TRB_TDC3_DELTAHISTBINS / 4 TRB_TDC3_DELTAHISTBINS hLeadingCorrelFine TRB_TDC3_FINEBINS TRB_TDC3_FINEBINS
Definition at line 103 of file TTrbProc.cxx.
References fPar, hLeadingCoarse, hLeadingDeltaCal, hLeadingDeltaRef, hLeadingFine, hLeadingFineBuffer, IsAnyCalibration(), TTrbParam::refChannel, and TRB_TDC3_DELTAHISTBINS.
Referenced by TTrbProc().
void TTrbProc::GenHistos3 | ( | TString | dirname, | |
Int_t | b, | |||
Int_t | t, | |||
Int_t | i | |||
) | [private] |
histo name tbins trange hTrailingCoarse TRB_TDC3_COARSEBINS TRB_TDC3_EPOCHUNIT hTrailingFine TRB_TDC3_FINEBINS TRB_TDC3_FINEBINS hTrailingFineBuffer TRB_TDC3_FINEBINS TRB_TDC3_FINEBINS hTrailingDeltaCal TRB_TDC3_DELTAHISTBINS / 4 TRB_TDC3_DELTAHISTBINS hTrailingCorrelFine TRB_TDC3_FINEBINS TRB_TDC3_FINEBINS
Definition at line 164 of file TTrbProc.cxx.
References fPar, hTrailingCoarse, hTrailingDeltaCal, hTrailingDeltaRef, hTrailingFine, hTrailingFineBuffer, TTrbParam::refChannel, and TRB_TDC3_DELTAHISTBINS.
Referenced by TTrbProc().
Int_t TCBMBeamtimeProc::GetEventNumber | ( | ) | const [inline, inherited] |
Returns event number of main MBS event
Definition at line 48 of file TCBMBeamtimeProc.h.
References TCBMBeamtimeProc::fMbsEventNumber.
Referenced by TSpadicV10Proc::FinalizeEvent(), TRocProc::FinalizeEvent(), TGet4v1Proc::FinalizeEvent(), TRPCProc::FinalizeEvent(), TGet4v1Proc::ProcessSubevent(), and TGet4v1Proc::ProcessTriggerMessage().
double TTrbProc::GetLinearFineCalibration | ( | unsigned | fine_cnt | ) | [inline, protected] |
Returns time in ns, which correspond to liner calibration of fine counter
Definition at line 48 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data().
Short_t TCBMBeamtimeProc::GetTriggerNumber | ( | ) | const [inline, inherited] |
Returns trigger number of main MBS event
Definition at line 45 of file TCBMBeamtimeProc.h.
References TCBMBeamtimeProc::fMbsTriggerNumber.
Referenced by TSpadicV10Proc::FinalizeEvent(), TRocProc::FinalizeEvent(), ProcessSubevent(), TSpadicV10Proc::ProcessSubevent(), TSpadicProc::ProcessSubevent(), TGet4v1Proc::ProcessSubevent(), and TMbsCrateProc::ProcessSubevent().
void TTrbProc::InitEvent | ( | TGo4EventElement * | evt | ) | [virtual] |
Test if we are in beamtime or standalone mode: since output event object is never discarded within processor lifetime, we just search for subevent by name once to speed up processing
Reimplemented from TCBMBeamtimeProc.
Definition at line 573 of file TTrbProc.cxx.
References fOutEvent, and TCBMBeamtimeEvent::GetSubEvent().
Bool_t TTrbProc::IsAnyCalibration | ( | ) | const [inline, protected] |
Returns true if any kind of calibration should be done
Definition at line 40 of file TTrbProc.h.
References TTrbParam::continuousCalibration, fPar, and TTrbParam::generalCalibration.
Referenced by EvaluateTDCV3Data(), and GenHistos2().
void TTrbProc::ProcessSubevent | ( | TGo4MbsSubEvent * | subevt | ) | [virtual] |
here the full hadaq event is available at pdata:
subevent index for Go4 output event
skip possible padding bytes before next subevent:
hadaq padding is relative to begin of payload data field!
Reimplemented from TCBMBeamtimeProc.
Definition at line 592 of file TTrbProc.cxx.
References EPRINT, fCurrentTriggerType, fLastTriggerId, fLostTriggerCnt, fNumHitsSelected, fPar, fTakenTriggerCnt, Trb_Subevent::GetDecoding(), Trb_Subevent::GetId(), Trb_Event::GetId(), Trb_Event::GetSeqNr(), Trb_Subevent::GetSize(), Trb_Event::GetSize(), TCBMBeamtimeProc::GetTriggerNumber(), Trb_Subevent::GetTrigNr(), hEventMultipl, hLostRate, hPulserMultipl, hSubevSize, Trb_Subevent::IsSwapped(), TTrbParam::printErrors, ProcessTrbSubevent(), and ResetTDCV3TriggerTimes().
void TTrbProc::ProcessTDCV3 | ( | Trb_Subevent * | sub | ) | [protected] |
Unpack method
hadsubevent->GetSize() gives the number of bytes of the header+data. So, to get the number of words only of a data, divide it by 4 and subtract 4 (header)
Extract data portion from the whole packet (in a loop)
================= RICH-FEE TDC header ========================
HEADER
TOTAL
TRB - TDC
TRB TOTAL
Loop inside the TDC data (after the TDC header)
Look only for the data headers, data words, epoch markers, debug or reserved messages
Data processing
------- The most important lines - forming 'hit' and putting it into the vector -------
---------------------------------------------------------------------------------------
LEADING
TRAILING
TOTAL
TRB - TDC
TRB TOTAL
Data header processing
HEADER
TOTAL
TRB - TDC
TRB TOTAL
INVALID
Epoch marker processing
EPOCH
TOTAL
TRB - TDC
TRB TOTAL
Debug processing
DEBUG
TOTAL
TRB - TDC
TRB TOTAL
Reserved processing
RESERVED
TOTAL
TRB - TDC
TRB TOTAL
==================== CTS header and inside ================
TRB - CTS
TRB TOTAL
Look only for the CTS data
TRB - CTS
TRB TOTAL
Last CTS word - SYNC number
TRB - CTS
TRB TOTAL
================== Dummy header and inside ==========================
TRB - DUMMY
TRB TOTAL
In theory here must be only one word - termination package with the status
TRB - DUMMY
TRB TOTAL
TRB - INVALID
Definition at line 766 of file TTrbProc.cxx.
References TTrbEvent::AssertTDC(), TTrbEvent::AssertTRB(), Trb_Subevent::Data(), EPRINT, fCurrentTriggerType, fRawHits, fSubeventStatus, Trb_Subevent::GetSize(), hEpoch, hTDCDataVolume, hTrbTriggerCount, hTriggerCount, and TRB_TDC3_CHANNELS.
Referenced by ProcessTrbSubevent().
void TTrbProc::ProcessTrbSubevent | ( | Trb_Subevent * | sub | ) | [protected] |
Called for each subevent in the current event
Definition at line 725 of file TTrbProc.cxx.
References TTrbEvent::AssertTRB(), DumpData(), EvaluateTDCV3Data(), fCanAssignTrigger, fCurrentTriggerType, TTrbParam::fEventCount, fPar, fRawHits, fSubeventStatus, Trb_Subevent::GetId(), TTrbParam::printErrors, TTrbParam::printEvent, and ProcessTDCV3().
Referenced by ProcessSubevent().
void TTrbProc::ResetTDCV3TriggerTimes | ( | ) | [protected] |
Reset times of last trigger
Last trigger time initializing
Definition at line 710 of file TTrbProc.cxx.
References fCanAssignTrigger, and fLastTrigTime.
Referenced by ProcessSubevent().
Bool_t TTrbProc::WithoutCalibration | ( | ) | const [inline, protected] |
Returns true if complete analyzis done without calibration
Definition at line 44 of file TTrbProc.h.
References TTrbParam::continuousCalibration, fPar, and TTrbParam::generalCalibration.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TGo4WinCond* TTrbProc::cLeadingCoarseTimeGate[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 116 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TGo4WinCond* TTrbProc::cLeadingDeltaTimeGate[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Conditions on the delta times
Definition at line 121 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TGo4WinCond* TTrbProc::cLeadingFineTimeGate[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Conditions on the absolute times
Definition at line 115 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TGo4WinCond* TTrbProc::cTrailingCoarseTimeGate[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 118 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TGo4WinCond* TTrbProc::cTrailingDeltaTimeGate[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 122 of file TTrbProc.h.
Referenced by TTrbProc().
TGo4WinCond* TTrbProc::cTrailingFineTimeGate[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 117 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TCBMBeamtimeEvent* TCBMBeamtimeProc::fBeamtimeEvent [protected, inherited] |
Definition at line 60 of file TCBMBeamtimeProc.h.
Referenced by TCBMBeamtimeProc::BuildEvent().
Bool_t TTrbProc::fbHasCalibration[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
flag to indicate that no calibration has been done so far We need to check this for each channel independently!
Definition at line 126 of file TTrbProc.h.
Referenced by DoCalibration(), EvaluateTDCV3Data(), and TTrbProc().
bool TTrbProc::fCanAssignTrigger [private] |
Definition at line 58 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), ProcessTrbSubevent(), and ResetTDCV3TriggerTimes().
bool TTrbProc::fCurrentTriggerType [private] |
Definition at line 59 of file TTrbProc.h.
Referenced by ProcessSubevent(), ProcessTDCV3(), and ProcessTrbSubevent().
unsigned TTrbProc::fLastTriggerId [private] |
Definition at line 61 of file TTrbProc.h.
Referenced by ProcessSubevent(), and TTrbProc().
Double_t TTrbProc::fLastTrigTime[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][2] [private] |
Last trigger time of the reference channel of a certain board and certain TDC
Definition at line 137 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and ResetTDCV3TriggerTimes().
int TTrbProc::fLostTriggerCnt [private] |
Definition at line 62 of file TTrbProc.h.
Referenced by ProcessSubevent(), and TTrbProc().
Int_t TCBMBeamtimeProc::fMbsEventNumber [protected, inherited] |
Definition at line 63 of file TCBMBeamtimeProc.h.
Referenced by TCBMBeamtimeProc::BuildEvent(), TRPCProc::FinalizeEvent(), and TCBMBeamtimeProc::GetEventNumber().
TGo4MbsEvent* TCBMBeamtimeProc::fMbsInput [protected, inherited] |
Definition at line 61 of file TCBMBeamtimeProc.h.
Referenced by TCBMBeamtimeProc::BuildEvent().
Short_t TCBMBeamtimeProc::fMbsTriggerNumber [protected, inherited] |
Definition at line 62 of file TCBMBeamtimeProc.h.
Referenced by TCBMBeamtimeProc::BuildEvent(), and TCBMBeamtimeProc::GetTriggerNumber().
Bool_t TTrbProc::fNoCalibration [private] |
Definition at line 128 of file TTrbProc.h.
int TTrbProc::fNumHitsSelected[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 68 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and ProcessSubevent().
TTrbEvent* TTrbProc::fOutEvent [private] |
Definition at line 131 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), InitEvent(), and TTrbProc().
TTrbParam* TTrbProc::fPar [private] |
Definition at line 130 of file TTrbProc.h.
Referenced by DoCalibration(), EvaluateTDCV3Data(), GenHistos1(), GenHistos2(), GenHistos3(), IsAnyCalibration(), ProcessSubevent(), ProcessTrbSubevent(), TTrbProc(), and WithoutCalibration().
std::vector<TTrbRawHit> TTrbProc::fRawHits[TRB_TDC3_NUMBOARDS] [private] |
Temporary container for the raw hits
Definition at line 140 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), ProcessTDCV3(), and ProcessTrbSubevent().
UInt_t TTrbProc::fSubeventStatus [private] |
status word from trb subevent trailer
Definition at line 134 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), ProcessTDCV3(), and ProcessTrbSubevent().
int TTrbProc::fTakenTriggerCnt [private] |
Definition at line 63 of file TTrbProc.h.
Referenced by ProcessSubevent(), and TTrbProc().
TH1* TTrbProc::hCalBinTime[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 107 of file TTrbProc.h.
Referenced by DoCalibration(), EvaluateTDCV3Data(), and TTrbProc().
TH1* TTrbProc::hCalcBinWidth[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Better keep correction arrays inside histograms, will be stored
Definition at line 106 of file TTrbProc.h.
Referenced by DoCalibration(), and TTrbProc().
TH1* TTrbProc::hChannelCount[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 72 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TH1* TTrbProc::hEpoch[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 111 of file TTrbProc.h.
Referenced by GenHistos1(), and ProcessTDCV3().
TH1* TTrbProc::hEventMultipl[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 66 of file TTrbProc.h.
Referenced by ProcessSubevent(), and TTrbProc().
TH1* TTrbProc::hLeadingCoarse[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 82 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos2(), and TTrbProc().
TH1* TTrbProc::hLeadingCoarseAll[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 74 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos1(), and TTrbProc().
TH2* TTrbProc::hLeadingCoarseAllChans[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 100 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TH1* TTrbProc::hLeadingDeltaCal[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 85 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos2(), and TTrbProc().
TH1* TTrbProc::hLeadingDeltaCalAll[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 76 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos1(), and TTrbProc().
TH1* TTrbProc::hLeadingDeltaCalAllFine[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 77 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos1(), and TTrbProc().
TH1* TTrbProc::hLeadingDeltaRef[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 86 of file TTrbProc.h.
Referenced by GenHistos2(), and TTrbProc().
TH1* TTrbProc::hLeadingFine[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 83 of file TTrbProc.h.
Referenced by DoCalibration(), EvaluateTDCV3Data(), GenHistos2(), and TTrbProc().
TH1* TTrbProc::hLeadingFineAll[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 75 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos1(), and TTrbProc().
TH2* TTrbProc::hLeadingFineAllChans[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 101 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TH1* TTrbProc::hLeadingFineBuffer[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 84 of file TTrbProc.h.
Referenced by DoCalibration(), EvaluateTDCV3Data(), GenHistos2(), and TTrbProc().
TH1* TTrbProc::hLostRate [private] |
Definition at line 64 of file TTrbProc.h.
Referenced by ProcessSubevent(), and TTrbProc().
TH1* TTrbProc::hPulserMultipl[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 67 of file TTrbProc.h.
Referenced by ProcessSubevent(), and TTrbProc().
TH1* TTrbProc::hSubevSize [private] |
Definition at line 57 of file TTrbProc.h.
Referenced by ProcessSubevent(), and TTrbProc().
TH1* TTrbProc::hTDCDataVolume [private] |
Lots of various histograms
Definition at line 56 of file TTrbProc.h.
Referenced by ProcessTDCV3(), and TTrbProc().
TH1* TTrbProc::hTrailingCoarse[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 91 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos3(), and TTrbProc().
TH1* TTrbProc::hTrailingCoarseAll[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 78 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos1(), and TTrbProc().
TH2* TTrbProc::hTrailingCoarseAllChans[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 102 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TH1* TTrbProc::hTrailingDeltaCal[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 94 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos3(), and TTrbProc().
TH1* TTrbProc::hTrailingDeltaCalAll[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 80 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos1(), and TTrbProc().
TH1* TTrbProc::hTrailingDeltaRef[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 95 of file TTrbProc.h.
Referenced by GenHistos3(), and TTrbProc().
TH1* TTrbProc::hTrailingFine[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 92 of file TTrbProc.h.
Referenced by DoCalibration(), EvaluateTDCV3Data(), GenHistos3(), and TTrbProc().
TH1* TTrbProc::hTrailingFineAll[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 79 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), GenHistos1(), and TTrbProc().
TH2* TTrbProc::hTrailingFineAllChans[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 103 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), and TTrbProc().
TH1* TTrbProc::hTrailingFineBuffer[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC][TRB_TDC3_CHANNELS] [private] |
Definition at line 93 of file TTrbProc.h.
Referenced by DoCalibration(), EvaluateTDCV3Data(), GenHistos3(), and TTrbProc().
TH1* TTrbProc::hTrbTriggerCount [private] |
Definition at line 109 of file TTrbProc.h.
Referenced by ProcessTDCV3(), and TTrbProc().
TH1* TTrbProc::hTriggerCount[TRB_TDC3_NUMBOARDS][TRB_TDC3_NUMTDC] [private] |
Definition at line 71 of file TTrbProc.h.
Referenced by EvaluateTDCV3Data(), ProcessTDCV3(), and TTrbProc().
const TString TTrbProc::leadingcoarseallname = "LeadingCoarseAllChans" [static, private] |
Definition at line 149 of file TTrbProc.h.
Referenced by GenHistos1(), and TTrbProc().
const TString TTrbProc::leadingdeltacalallname = "LeadingDeltaCalAllChans" [static, private] |
Definition at line 151 of file TTrbProc.h.
Referenced by GenHistos1(), and TTrbProc().
const TString TTrbProc::leadingfineallname = "LeadingFineAllChans" [static, private] |
Definition at line 150 of file TTrbProc.h.
Referenced by GenHistos1(), and TTrbProc().
const TString TTrbProc::trailingcoarseallname = "TrailingCoarseAllChans" [static, private] |
Definition at line 152 of file TTrbProc.h.
Referenced by GenHistos1(), and TTrbProc().
const TString TTrbProc::trailingdeltacalallname = "TrailingDeltaCalAllChans" [static, private] |
Definition at line 154 of file TTrbProc.h.
Referenced by GenHistos1(), and TTrbProc().
const TString TTrbProc::trailingfineallname = "TrailingFineAllChans" [static, private] |
Definition at line 153 of file TTrbProc.h.
Referenced by GenHistos1(), and TTrbProc().