Hall C ROOT/C++ Analyzer (hcana)
Loading...
Searching...
No Matches
THcTimeSyncEvtHandler Class Reference

Event handler to check TI and FADC synchronization. More...

#include <THcTimeSyncEvtHandler.h>

Inheritance diagram for THcTimeSyncEvtHandler:
Collaboration diagram for THcTimeSyncEvtHandler:

Classes

struct  RocStats
 
struct  RocTimes
 

Public Member Functions

virtual void AddExpectedOffset (Int_t roc, Int_t offset)
 
virtual Int_t AllTdcsPresent (UInt_t *bank)
 
virtual Int_t Analyze (THaEvData *evdata)
 
virtual Int_t End (THaRunBase *r=0)
 
virtual EStatus Init (const TDatime &run_time)
 
virtual void PrintStats ()
 
virtual void SetBadROC (Int_t roc)
 
virtual void SetBadSyncSizeTrigger (Int_t sizetrigger)
 
virtual void SetExpectedOffset (Int_t roc, Int_t offset)
 
virtual void SetResync (Bool_t b)
 
virtual Int_t SetRewriteFile (const char *filename)
 
 THcTimeSyncEvtHandler (const char *name, const char *description)
 
virtual ~THcTimeSyncEvtHandler ()
 
- Public Member Functions inherited from THaEvtTypeHandler
virtual void AddEvtType (UInt_t evtype)
 
virtual void EvDump (THaEvData *evdata) const
 
virtual void EvPrint () const
 
virtual UInt_t GetEvtType ()
 
virtual std::vector< UInt_tGetEvtTypes ()
 
virtual UInt_t GetNumTypes ()
 
virtual Bool_t IsMyEvent (UInt_t type) const
 
virtual void SetDebugFile (const char *filename)
 
virtual void SetDebugFile (std::ofstream *file)
 
virtual void SetEvtType (UInt_t evtype)
 
 THaEvtTypeHandler (const char *name, const char *description)
 
virtual ~THaEvtTypeHandler ()
 
- Public Member Functions inherited from THaAnalysisObject
virtual Int_t Begin (THaRunBase *r=nullptr)
 
virtual void Clear (Option_t *="")
 
const char * GetClassName () const
 
const char * GetConfig () const
 
virtual const char * GetDBFileName () const
 
Int_t GetDebug () const
 
TDatime GetInitDate () const
 
const char * GetPrefix () const
 
TString GetPrefixName () const
 
EStatus Init ()
 
virtual Int_t InitOutput (THaOutput *)
 
Bool_t IsInit () const
 
Bool_t IsOK () const
 
Bool_t IsOKOut () const
 
virtual FILE * OpenFile (const TDatime &date)
 
virtual FILE * OpenRunDBFile (const TDatime &date)
 
THaAnalysisObjectoperator= (const THaAnalysisObject &&)=delete
 
THaAnalysisObjectoperator= (const THaAnalysisObject &)=delete
 
virtual void Print (Option_t *opt="") const
 
void SetConfig (const char *label)
 
virtual void SetDebug (Int_t level)
 
virtual void SetName (const char *name)
 
virtual void SetNameTitle (const char *name, const char *title)
 
EStatus Status () const
 
 THaAnalysisObject ()
 
 THaAnalysisObject (const THaAnalysisObject &&)=delete
 
 THaAnalysisObject (const THaAnalysisObject &)=delete
 
virtual ~THaAnalysisObject ()
 
- Public Member Functions inherited from TNamed
void Clear (Option_t *option="") override
 
TObjectClone (const char *newname="") const override
 
Int_t Compare (const TObject *obj) const override
 
void Copy (TObject &named) const override
 
virtual void FillBuffer (char *&buffer)
 
const char * GetName () const override
 
const char * GetTitle () const override
 
ULong_t Hash () const override
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 
TNamedoperator= (const TNamed &rhs)
 
void Print (Option_t *option="") const override
 
virtual void SetTitle (const char *title="")
 
virtual Int_t Sizeof () const
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 
- Public Member Functions inherited from TObject
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
virtual void Browse (TBrowser *b)
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual void Delete (Option_t *option="")
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void Draw (Option_t *option="")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void Dump () const
 
virtual void Error (const char *method, const char *msgfmt,...) const
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
Bool_t HasInconsistentHash () const
 
virtual void Info (const char *method, const char *msgfmt,...) const
 
virtual Bool_t InheritsFrom (const char *classname) const
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 
virtual void Inspect () const
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 
virtual Bool_t Notify ()
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 
void operator delete (void *ptr)
 
void operator delete[] (void *ptr)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Paint (Option_t *option="")
 
virtual void Pop ()
 
virtual Int_t Read (const char *name)
 
virtual void RecursiveRemove (TObject *obj)
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 
virtual void SetDrawOption (Option_t *option="")
 
virtual void SetUniqueID (UInt_t uid)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
 TObject ()
 
 TObject (const TObject &object)
 
virtual void UseCurrentStyle ()
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 
virtual ~TObject ()
 

Private Types

typedef struct THcTimeSyncEvtHandler::RocStats RocStats_t
 
typedef struct THcTimeSyncEvtHandler::RocTimes RocTimes_t
 

Private Member Functions

virtual void AccumulateStats (Bool_t sync)
 
virtual void InitStats ()
 
THcTimeSyncEvtHandleroperator= (const THcTimeSyncEvtHandler &fh)
 
 THcTimeSyncEvtHandler (const THcTimeSyncEvtHandler &fh)
 

Private Attributes

std::map< Int_t, RocStats_t * > CrateStatsMap
 
std::map< Int_t, RocTimes_t * > CrateTimeMap
 
std::map< Int_t, Int_tExpectedOffsetMap
 
Int_t fBadROC
 
Int_t fBadSyncSizeTrigger
 
Decoder::THaCodaFilefCodaOut
 
Int_t fDumpNew
 
Bool_t fFirstTdcCheck
 
Bool_t fFirstTime
 
UInt_t fLastEvent [32000]
 
Bool_t fLastEventWasSync
 
Int_t fMasterRoc
 
Int_t fNEvents
 
Bool_t fResync
 
Int_t fSlippage
 
UInt_t fSlippingBank [32000]
 
UInt_t fTdcMask
 
Bool_t fWriteDelayed
 
Int_t handle
 

Additional Inherited Members

- Public Types inherited from THaAnalysisObject
enum  EMode
 
enum  EStatus
 
enum  EType
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 
- Static Public Member Functions inherited from THaAnalysisObject
static Int_t DefineVarsFromList (const void *list, EType type, EMode mode, const char *def_prefix, const TObject *obj, const char *prefix, const char *here, const char *comment_subst="")
 
static void GeoToSph (Double_t th_geo, Double_t ph_geo, Double_t &th_sph, Double_t &ph_sph)
 
static Bool_t IntersectPlaneWithRay (const TVector3 &xax, const TVector3 &yax, const TVector3 &org, const TVector3 &ray_start, const TVector3 &ray_vect, Double_t &length, TVector3 &intersect)
 
static Int_t LoadDB (FILE *file, const TDatime &date, const DBRequest *request, const char *prefix, Int_t search=0, const char *here="THaAnalysisObject::LoadDB")
 
static void PrintObjects (Option_t *opt="")
 
static void SphToGeo (Double_t th_sph, Double_t ph_sph, Double_t &th_geo, Double_t &ph_geo)
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Public Attributes inherited from THaAnalysisObject
 kDefine
 
 kDelete
 
 kFileError
 
 kInitError
 
 kNotinit
 
 kOK
 
 kRVarDef
 
 kVarDef
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Protected Types inherited from THaAnalysisObject
enum  EProperties
 
- Protected Member Functions inherited from THaEvtTypeHandler
virtual void MakePrefix ()
 
- Protected Member Functions inherited from THaAnalysisObject
virtual const char * ClassNameHere (const char *) const
 
virtual Int_t DefineVariables (EMode mode=kDefine)
 
Int_t DefineVarsFromList (const RVarDef *list, EMode mode, const char *def_prefix="", const char *comment_subst="") const
 
Int_t DefineVarsFromList (const VarDef *list, EMode mode=kDefine, const char *def_prefix="", const char *comment_subst="") const
 
Int_t DefineVarsFromList (const void *list, EType type, EMode mode, const char *def_prefix="", const char *comment_subst="") const
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
THaAnalysisObjectFindModule (const char *name, const char *classname, bool do_error=true)
 
virtual const char * Here (const char *) const
 
Int_t LoadDB (FILE *f, const TDatime &date, const DBRequest *req, Int_t search=0) const
 
void MakePrefix (const char *basename)
 
virtual Int_t ReadDatabase (const TDatime &date)
 
virtual Int_t ReadRunDatabase (const TDatime &date)
 
Int_t RemoveVariables ()
 
 THaAnalysisObject (const char *name, const char *description)
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
- Protected Attributes inherited from THaEvtTypeHandler
std::vector< UInt_teventtypes
 
std::ofstream * fDebugFile
 
- Protected Attributes inherited from THaAnalysisObject
TString fConfig
 
Int_t fDebug
 
TObjectfExtra
 
TDatime fInitDate
 
Bool_t fIsInit
 
Bool_t fIsSetup
 
std::map< std::string, UInt_tfMessages
 
UInt_t fNEventsWithWarnings
 
Bool_t fOKOut
 
char * fPrefix
 
UInt_t fProperties
 
EStatus fStatus
 
 kConfigOverride
 
 kNeedsRunDB
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

Detailed Description

Event handler to check TI and FADC synchronization.

Check syncronization of 4ns clock times recorded by the TIs and the FADCs. Also can be used to detect CAEN1190 TDC syncronization problems and write out a new coda file that corrects the synchronization. (These TDC synchronization problems were occuring in the spring of 2018.)

This event handler is typically not used in normal anlysis scripts. It is used with custom to check suspect runs and write synchronization corrected data files.

To use as a plugin, add to the analysis script:

THcTimeSyncEvtHandler *timesync = new THcTimeSyncEvtHandler("timesync","ADC/TI Time synchrnoziation")); timesync->AddEvtType(1); timesync->AddEvtType(2); ... gHaEvtHandlers->Add(timesync);

Assumes that all FADCs are in banks with the tag 250 and all TIblob banks are tag 4. And that these banks are contained without further structure in ROC banks. Also asssumes that the only banks containing banks are ROC banks.

Author
Stephen Wood (saw@j.nosp@m.lab..nosp@m.org)

Definition at line 19 of file THcTimeSyncEvtHandler.h.

Member Typedef Documentation

◆ RocStats_t

◆ RocTimes_t

Constructor & Destructor Documentation

◆ THcTimeSyncEvtHandler() [1/2]

THcTimeSyncEvtHandler::THcTimeSyncEvtHandler ( const char *  name,
const char *  description 
)

Definition at line 57 of file THcTimeSyncEvtHandler.cxx.

◆ ~THcTimeSyncEvtHandler()

THcTimeSyncEvtHandler::~THcTimeSyncEvtHandler ( )
virtual

Definition at line 68 of file THcTimeSyncEvtHandler.cxx.

◆ THcTimeSyncEvtHandler() [2/2]

THcTimeSyncEvtHandler::THcTimeSyncEvtHandler ( const THcTimeSyncEvtHandler fh)
private

Member Function Documentation

◆ AccumulateStats()

void THcTimeSyncEvtHandler::AccumulateStats ( Bool_t  sync)
privatevirtual

Definition at line 402 of file THcTimeSyncEvtHandler.cxx.

◆ AddExpectedOffset()

void THcTimeSyncEvtHandler::AddExpectedOffset ( Int_t  roc,
Int_t  offset 
)
virtual

Definition at line 496 of file THcTimeSyncEvtHandler.cxx.

◆ AllTdcsPresent()

Int_t THcTimeSyncEvtHandler::AllTdcsPresent ( UInt_t bank)
virtual

Check that all the 1190 TDCs that should be present are there.

Return codes: 0: All TDCs present 1: TDCs missing at high end of crate 2: TDCs missing at low end of crate 3: Other arrangement of missing

Definition at line 559 of file THcTimeSyncEvtHandler.cxx.

◆ Analyze()

Int_t THcTimeSyncEvtHandler::Analyze ( THaEvData evdata)
virtual

Implements THaEvtTypeHandler.

Definition at line 81 of file THcTimeSyncEvtHandler.cxx.

◆ End()

Int_t THcTimeSyncEvtHandler::End ( THaRunBase r = 0)
virtual

Reimplemented from THaAnalysisObject.

Definition at line 532 of file THcTimeSyncEvtHandler.cxx.

◆ Init()

THaAnalysisObject::EStatus THcTimeSyncEvtHandler::Init ( const TDatime run_time)
virtual

Reimplemented from THaEvtTypeHandler.

Definition at line 500 of file THcTimeSyncEvtHandler.cxx.

◆ InitStats()

void THcTimeSyncEvtHandler::InitStats ( )
privatevirtual

Initialize structure to hold statistics Record the offset of each TI and FADC time relative to the trigger time of the master TI.

Definition at line 346 of file THcTimeSyncEvtHandler.cxx.

◆ operator=()

THcTimeSyncEvtHandler & THcTimeSyncEvtHandler::operator= ( const THcTimeSyncEvtHandler fh)
private

◆ PrintStats()

void THcTimeSyncEvtHandler::PrintStats ( )
virtual

Definition at line 453 of file THcTimeSyncEvtHandler.cxx.

◆ SetBadROC()

virtual void THcTimeSyncEvtHandler::SetBadROC ( Int_t  roc)
inlinevirtual

Definition at line 33 of file THcTimeSyncEvtHandler.h.

◆ SetBadSyncSizeTrigger()

virtual void THcTimeSyncEvtHandler::SetBadSyncSizeTrigger ( Int_t  sizetrigger)
inlinevirtual

Definition at line 35 of file THcTimeSyncEvtHandler.h.

◆ SetExpectedOffset()

void THcTimeSyncEvtHandler::SetExpectedOffset ( Int_t  roc,
Int_t  offset 
)
virtual

Definition at line 492 of file THcTimeSyncEvtHandler.cxx.

◆ SetResync()

virtual void THcTimeSyncEvtHandler::SetResync ( Bool_t  b)
inlinevirtual

Definition at line 34 of file THcTimeSyncEvtHandler.h.

◆ SetRewriteFile()

Int_t THcTimeSyncEvtHandler::SetRewriteFile ( const char *  filename)
virtual

Definition at line 539 of file THcTimeSyncEvtHandler.cxx.

Member Data Documentation

◆ CrateStatsMap

std::map<Int_t, RocStats_t *> THcTimeSyncEvtHandler::CrateStatsMap
private

Definition at line 94 of file THcTimeSyncEvtHandler.h.

◆ CrateTimeMap

std::map<Int_t, RocTimes_t *> THcTimeSyncEvtHandler::CrateTimeMap
private

Definition at line 93 of file THcTimeSyncEvtHandler.h.

◆ ExpectedOffsetMap

std::map<Int_t, Int_t> THcTimeSyncEvtHandler::ExpectedOffsetMap
private

Definition at line 95 of file THcTimeSyncEvtHandler.h.

◆ fBadROC

Int_t THcTimeSyncEvtHandler::fBadROC
private

Definition at line 50 of file THcTimeSyncEvtHandler.h.

◆ fBadSyncSizeTrigger

Int_t THcTimeSyncEvtHandler::fBadSyncSizeTrigger
private

Definition at line 52 of file THcTimeSyncEvtHandler.h.

◆ fCodaOut

Decoder::THaCodaFile* THcTimeSyncEvtHandler::fCodaOut
private

Definition at line 57 of file THcTimeSyncEvtHandler.h.

◆ fDumpNew

Int_t THcTimeSyncEvtHandler::fDumpNew
private

Definition at line 49 of file THcTimeSyncEvtHandler.h.

◆ fFirstTdcCheck

Bool_t THcTimeSyncEvtHandler::fFirstTdcCheck
private

Definition at line 54 of file THcTimeSyncEvtHandler.h.

◆ fFirstTime

Bool_t THcTimeSyncEvtHandler::fFirstTime
private

Definition at line 42 of file THcTimeSyncEvtHandler.h.

◆ fLastEvent

UInt_t THcTimeSyncEvtHandler::fLastEvent[32000]
private

Definition at line 46 of file THcTimeSyncEvtHandler.h.

◆ fLastEventWasSync

Bool_t THcTimeSyncEvtHandler::fLastEventWasSync
private

Definition at line 53 of file THcTimeSyncEvtHandler.h.

◆ fMasterRoc

Int_t THcTimeSyncEvtHandler::fMasterRoc
private

Definition at line 43 of file THcTimeSyncEvtHandler.h.

◆ fNEvents

Int_t THcTimeSyncEvtHandler::fNEvents
private

Definition at line 44 of file THcTimeSyncEvtHandler.h.

◆ fResync

Bool_t THcTimeSyncEvtHandler::fResync
private

Definition at line 51 of file THcTimeSyncEvtHandler.h.

◆ fSlippage

Int_t THcTimeSyncEvtHandler::fSlippage
private

Definition at line 45 of file THcTimeSyncEvtHandler.h.

◆ fSlippingBank

UInt_t THcTimeSyncEvtHandler::fSlippingBank[32000]
private

Definition at line 47 of file THcTimeSyncEvtHandler.h.

◆ fTdcMask

UInt_t THcTimeSyncEvtHandler::fTdcMask
private

Definition at line 55 of file THcTimeSyncEvtHandler.h.

◆ fWriteDelayed

Bool_t THcTimeSyncEvtHandler::fWriteDelayed
private

Definition at line 48 of file THcTimeSyncEvtHandler.h.

◆ handle

Int_t THcTimeSyncEvtHandler::handle
private

Definition at line 58 of file THcTimeSyncEvtHandler.h.


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