Diana Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MJitterByCoincidence Class Reference

Calculates time jitter between couples of channels using coincident events. More...

Inheritance diagram for MJitterByCoincidence:

Public Member Functions

void Init (Diana::QEvent &ev)
 Init method. More...
 
void Do (Diana::QEvent &ev)
 Do method
More...
 
void Done ()
 Done method. More...
 

Private Member Functions

void SaveJitter (int ch, double jitter, double jitter_error)
 SaveJitter function. More...
 
double FindJitter (int ch, int o_ch)
 FindJitter function. More...
 
double FindJitterRMS (int ch, int o_ch)
 FindJitterRMS function. More...
 
int FindChanWithPosInTowerFloor (int pos, int tower, int floor)
 FindPos function. More...
 
int ProcessFloor (int pos, int tower, int floor)
 ProcessFloor function. More...
 

Private Attributes

std::string fOutput
 Jitter output (file or DB, for the moment only file works) More...
 
std::string fCoincidenceDataOwner
 
std::string fJitterByDelaySource
 
int fDataset
 Dataset. More...
 
int fRun
 
int fTower
 
int fRefCh
 Reference Channel. More...
 
bool fRefCh_IsSet
 
bool fLastFloor
 
Diana::QEventLabel fEnergyLabel
 
std::map< int, std::map< int, std::vector< double > > > fDeltaT
 Map of vectors containing deltaT between couples of channels in coincident events. More...
 
std::map< int, std::map< int, double > > fJitter
 Map of Jitter between couples of channels, calculated from deltaT above. More...
 
std::map< int, std::map< int, double > > fJitterRMS
 Map of JitterRMS/N between couples of channels, calculated from deltaT above. More...
 
std::set< int > fGoodChannels
 Stores the channels with thermistor ranking >=1 as the floors are being processed. More...
 
double fJitterSum
 Stores sum of jitters between floors as the floors are being processed. More...
 
double fJitterErrorSum
 Stores sum of jitters errors (in quadrature) between floors as the floors are being processed. More...
 

Detailed Description

Calculates time jitter between couples of channels using coincident events.

Author
Claudia Tomei

Calculates time jitter between couples of channels, using multiplicity two events. The jitter of each channel is calculated with respect to a reference channel, which is either read by cfg or assumed to be the channel occupying position number 1 * on the first floor (if there are more that one floor) for each tower (if there are more towers). Prior to the module, the user should use an EnergyFilter to select the range of total energy for the coincident events, for example if one wants to use the 2615 peak, the filter should look like:

   filter EnergyFilter
   verbosity = info
   enable = true
   Logic = CASE
   EnergyRangesInput = 
   EnergyRangesOutput = 
   EnergyLabel = Coincidence@TotalEnergy
   EnergyMin = 2600
   EnergyMax = 2630
   ExtraLabel = TotalEnergy
   endmod
   


Definition at line 63 of file MJitterByCoincidence.hh.

Member Function Documentation

◆ Do()

void MJitterByCoincidence::Do ( Diana::QEvent &  ev)

Do method

Definition at line 55 of file MJitterByCoincidence.cc.

References abs(), cd(), channel, QEvent::Get(), QPulseInfo::GetChannelId(), and QHeader::GetRun().

◆ Done()

void MJitterByCoincidence::Done ( )

Done method.

Definition at line 98 of file MJitterByCoincidence.cc.

References Q_STRING_DEFAULT.

◆ FindChanWithPosInTowerFloor()

int MJitterByCoincidence::FindChanWithPosInTowerFloor ( int  pos,
int  tower,
int  floor 
)
private

FindPos function.

Definition at line 274 of file MJitterByCoincidence.cc.

References Q_INT_DEFAULT.

◆ FindJitter()

double MJitterByCoincidence::FindJitter ( int  ch,
int  o_ch 
)
private

FindJitter function.

Definition at line 236 of file MJitterByCoincidence.cc.

◆ FindJitterRMS()

double MJitterByCoincidence::FindJitterRMS ( int  ch,
int  o_ch 
)
private

FindJitterRMS function.

Definition at line 255 of file MJitterByCoincidence.cc.

◆ Init()

void MJitterByCoincidence::Init ( Diana::QEvent &  ev)

Init method.

Definition at line 24 of file MJitterByCoincidence.cc.

References Q_INT_DEFAULT, Q_STRING_DEFAULT, QEvent::Require(), and QEvent::RequireByLabel().

◆ ProcessFloor()

int MJitterByCoincidence::ProcessFloor ( int  pos,
int  tower,
int  floor 
)
private

ProcessFloor function.

Definition at line 326 of file MJitterByCoincidence.cc.

References pow().

◆ SaveJitter()

void MJitterByCoincidence::SaveJitter ( int  ch,
double  jitter,
double  jitter_error 
)
private

Member Data Documentation

◆ fCoincidenceDataOwner

std::string MJitterByCoincidence::fCoincidenceDataOwner
private

Definition at line 80 of file MJitterByCoincidence.hh.

◆ fDataset

int MJitterByCoincidence::fDataset
private

Dataset.

Definition at line 84 of file MJitterByCoincidence.hh.

◆ fDeltaT

std::map<int,std::map<int,std::vector<double> > > MJitterByCoincidence::fDeltaT
private

Map of vectors containing deltaT between couples of channels in coincident events.

Definition at line 97 of file MJitterByCoincidence.hh.

◆ fEnergyLabel

Diana::QEventLabel MJitterByCoincidence::fEnergyLabel
private

Definition at line 94 of file MJitterByCoincidence.hh.

◆ fGoodChannels

std::set<int> MJitterByCoincidence::fGoodChannels
private

Stores the channels with thermistor ranking >=1 as the floors are being processed.

Definition at line 106 of file MJitterByCoincidence.hh.

◆ fJitter

std::map<int,std::map<int,double > > MJitterByCoincidence::fJitter
private

Map of Jitter between couples of channels, calculated from deltaT above.

Definition at line 100 of file MJitterByCoincidence.hh.

◆ fJitterByDelaySource

std::string MJitterByCoincidence::fJitterByDelaySource
private

Definition at line 81 of file MJitterByCoincidence.hh.

◆ fJitterErrorSum

double MJitterByCoincidence::fJitterErrorSum
private

Stores sum of jitters errors (in quadrature) between floors as the floors are being processed.

Definition at line 112 of file MJitterByCoincidence.hh.

◆ fJitterRMS

std::map<int,std::map<int,double > > MJitterByCoincidence::fJitterRMS
private

Map of JitterRMS/N between couples of channels, calculated from deltaT above.

Definition at line 103 of file MJitterByCoincidence.hh.

◆ fJitterSum

double MJitterByCoincidence::fJitterSum
private

Stores sum of jitters between floors as the floors are being processed.

Definition at line 109 of file MJitterByCoincidence.hh.

◆ fLastFloor

bool MJitterByCoincidence::fLastFloor
private

Definition at line 92 of file MJitterByCoincidence.hh.

◆ fOutput

std::string MJitterByCoincidence::fOutput
private

Jitter output (file or DB, for the moment only file works)

Definition at line 79 of file MJitterByCoincidence.hh.

◆ fRefCh

int MJitterByCoincidence::fRefCh
private

Reference Channel.

Definition at line 89 of file MJitterByCoincidence.hh.

◆ fRefCh_IsSet

bool MJitterByCoincidence::fRefCh_IsSet
private

Definition at line 91 of file MJitterByCoincidence.hh.

◆ fRun

int MJitterByCoincidence::fRun
private

Definition at line 85 of file MJitterByCoincidence.hh.

◆ fTower

int MJitterByCoincidence::fTower
private

Definition at line 86 of file MJitterByCoincidence.hh.


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