#include "hmdcselftracking.h" |
HMdcSelfTracking
class description - source file - inheritance tree (.pdf)
protected:
void checkAdjacentCellAnalysisLayer1(Int_t, Int_t)
void checkAdjacentCellAnalysisLayer2(Int_t, Int_t)
void checkCorrSector(Int_t, Int_t)
void createHist()
void executeCorrSector()
void executeEventHeaderCheck()
void executeMdc()
void executeReset()
void executeStart()
void fillAnalysisHists(Int_t)
void fillControlHists()
void fillHist()
void findCorrelatedHits(Int_t)
void resetCounters()
void setDefault()
void writeHist()
public:
HMdcSelfTracking()
HMdcSelfTracking(Text_t* name, Text_t* title)
~HMdcSelfTracking()
static TClass* Class()
void clearCutbridges()
virtual Int_t execute()
virtual Bool_t finalize()
UInt_t getAnalysisCellCutMax()
UInt_t getAnalysisCellCutMin()
Float_t getCorrelationFctA(Int_t i)
Float_t getCorrelationFctB(Int_t i)
Float_t getCorrelationFctC(Int_t i)
Float_t getCorrelationWmax(Int_t i)
Float_t getCorrelationWmin(Int_t i)
Bool_t getCutbridge(UInt_t index)
Int_t getMonitorCell()
Int_t getMonitorLayer()
Float_t getStartTimeCutMax(UInt_t)
Float_t getStartTimeCutMin(UInt_t)
Float_t getTimeAboveThresholdCutMax(Int_t i)
Float_t getTimeAboveThresholdCutMin(Int_t i)
Float_t getTimeCutMax()
Float_t getTimeCutMin()
Float_t getTimeDiffL3L4Cut()
Float_t getTimeDiffMax()
virtual Bool_t init()
virtual TClass* IsA() const
void printAnalysisCellCutWindow()
void printCorrelationFct()
void printCorrelationWindow()
void printCutbridge()
void printStartTimeCutWindow()
void printTimeAboveThresholdCutWindow()
void printTimeCutWindow()
void printTimeDiffL3L4Cut()
void setActiveModule(Int_t sec, Int_t mod)
void setAnalysisCellCutMax(UInt_t f)
void setAnalysisCellCutMin(UInt_t f)
void setAnalysisCellCutWindow(UInt_t a, UInt_t b)
void setCorrelationFct(Int_t i, Float_t a, Float_t b, Float_t c)
void setCorrelationFctA(Int_t i, Float_t f)
void setCorrelationFctB(Int_t i, Float_t f)
void setCorrelationFctC(Int_t i, Float_t f)
void setCorrelationWindow(Int_t i, Float_t a, Float_t b)
void setCorrelationWmax(Int_t i, Float_t f)
void setCorrelationWmin(Int_t i, Float_t f)
Bool_t setCutbridge(UInt_t, Bool_t)
void setMonitor(UInt_t layer, UInt_t cellNumber)
void setMonitorCell(UInt_t cell)
void setMonitorLayer(UInt_t layer)
void setNoCheckCorrSector()
void setNoCorrSector()
void setNoStart()
void setOutputRoot(Char_t*)
Bool_t setStartTimeCutMax(UInt_t, Float_t)
Bool_t setStartTimeCutMin(UInt_t, Float_t)
Bool_t setStartTimeCutWindow(UInt_t, Float_t, Float_t)
void setTimeAboveThresholdCutMax(Int_t i, Float_t f)
void setTimeAboveThresholdCutMin(Int_t i, Float_t f)
void setTimeAboveThresholdCutWindow(Int_t i, Float_t a, Float_t b)
void setTimeCutMax(Float_t f)
void setTimeCutMin(Float_t f)
void setTimeCutWindow(Float_t min, Float_t max)
void setTimeDiffL3L4Cut(Float_t f)
void setTimeDiffMax(Float_t time)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
Int_t setLeft[4] define conditions for LEFT/RIGHT correlations for different planes (I,II,III,IV)
Int_t setRight[4] same
Float_t A[4]
Float_t B[4]
Float_t C[4] Correlation fct parameters
Float_t CorrWindow[4][3] Residual cut
Float_t tdifmin[5] lower limit for cut in time-above-threshold (time1-time2)
Float_t tdifmax[5] upper limit for cut in time-above-threshold (time1-time2)
Float_t tdifcut cut for time1(layer3)-time1(layer4)
Float_t tmin lower limit for cut in time
Float_t tmax upper limit for cut in time
Int_t cellmin lower limit for the cells to be used in a further analysis
Int_t cellmax upper limit for the cells to be used in a further analysis
Float_t startmin[9] array of lower limits of start time window over all start detector strips
Float_t startmax[9] array of upper limits of start time window over all start detector strips
Bool_t cutbridge[20] array of cut bridges to switch of cuts
Bool_t cut[20] internal
Int_t monitorCell cell number which is taken into account for further analysis
Int_t monitorLayer cell layer which is taken into account for further analysis
Float_t hitTime1[7][200] array containing time 1 per layer which fulfill the cut conditions
Float_t hitTime2[7][200] array containing time 2 per layer which fulfill the cut conditions
Float_t time1
Float_t time2
Float_t timesum
Float_t timediff
Float_t timeDiffMax
Int_t setmodule
Int_t setsector variables for setActiveModule(sec,mod) start counting from 1
Bool_t noStart flag if starttime should not be used
Bool_t noCorrSector flag if CorrSector 3dim histogram should not be filled
Bool_t noCheckCorrSector flag if CorrSector is not checked
Int_t module
Int_t sector
Int_t cell
Int_t layer
Int_t hitCells[7][200] array containing the cellnumbers per layer which fulfill the cut conditions
Int_t nhit[7] hits per layer
Int_t cell0[5][200] hits in 0-deg-layers, all chambers of a given sector
Int_t ncell0[5]
Bool_t relevant_data Boolean flag to indicate that data arrays had been filled, triggers correlation analysis
Bool_t flag[4] Boolean array to trigger on flags (NEIGHBOURS = 0, LEFT_CELL_HIT = 1, RIGHT_CELL_HIT = 2, RESIDUAL_CUT = 3)
Int_t alreadyUsedCellFlag_AnalysisLayer1[200]
Int_t alreadyUsedCellFlag_AnalysisLayer2[200]
Int_t lhit[3]
Int_t analysisLayer1
Int_t analysisLayer2
Int_t cntHitslayer1
Int_t cntHitslayer2
Int_t cntHitsWithoutNeighbours
Int_t cntHitsAnalysislayer2
Int_t cntDoubleHitsAnalysislayer2
Int_t eventCounter
Float_t counter[3][160]
Double_t ctrl[11]
Int_t start_strip
Int_t nstartstrip
Float_t start_time
HCategory* calCatMdc pointer to the MDC-CAL1 data
HCategory* calCatStart pointer to the START-CAL1 data
HIterator* iterMdc iterator on MDC raw data
HIterator* iterStart iterator on START raw data
HEventHeader* evheader Hades event header
Char_t* fNameRoot file name of root output file
TH1F* pinfo scaler info
TH1D* player[7] hit pattern layer 1-6
TH1D* pNhitlayer[7] hits per layer 1-6
TH1D* player0[3] selftracking: hit pattern +/-0deg layers
TH1F* peff efficiency layer 4 relative to layer 3
TH1D* pTime_cut[7] drift time spectra for different cut levels
TH2S* pTime0_cell[7] cell# vs. drifttime per layer without cuts
TH2S* pTime0_diff time above threshold vs. drifttime
TH2S* pTime_cell[7] cell# vs. drifttime after cuts
TH1D* pTime_diff[2] time above threshold, w/[0]. w/o[1] threshold
TH2S* pTime0diff_cell[3] cell# vs. time above threshold (0deg layers)
TH2S* pTimesum_adj_cell3 cell# vs. time sum of adjacent cells, layer 3
TH2S* pTimesum_adj_cell4 cell# vs. time sum of adj. cells, layer 4, cut on time diff
TH2S* pTimesum_cell[3] selftracking: cell# vs. time sum of correl. cells
TH2S* pFish[3][120] selftracking: time diff vs. sum of correl. cells
TH2S* pTsum_ev[3][120] selftracking: time sum vs. event#
TProfile* pTsum_ev_prof[3][120] selftracking: time sum vs. event#, profile
TH2S* pStart_time_strip start detector: strip# vs. time
TH1F* pStart_time[9] start detector: time, incl. cut1 and strip-mult=1
TH1F* pStart_mult start detector:strip multiplicity
TH3F* pCorrSector Correlations in a given sector
TH1F* pCorrDiff[2][4] residuals from correlation in one sector
TFile* fout output file pointer
public:
static const HMdcSelfTracking::selftrackingCut NO_CUT
static const HMdcSelfTracking::selftrackingCut TOF_BIT_CUT
static const HMdcSelfTracking::selftrackingCut START_CUT
static const HMdcSelfTracking::selftrackingCut TIME1_CUT
static const HMdcSelfTracking::selftrackingCut TIME2_CUT
static const HMdcSelfTracking::selftrackingCut TIME_ABOVE_THRESHOLD_CUT
static const HMdcSelfTracking::selftrackingCut MISC_6
static const HMdcSelfTracking::selftrackingCut MISC_7
static const HMdcSelfTracking::selftrackingCut MISC_8
static const HMdcSelfTracking::selftrackingCut MISC_9
static const HMdcSelfTracking::selftrackingCut MISC_10
static const HMdcSelfTracking::selftrackingCut MISC_11
static const HMdcSelfTracking::selftrackingCut MISC_12
static const HMdcSelfTracking::selftrackingCut MISC_13
static const HMdcSelfTracking::selftrackingCut MISC_14
static const HMdcSelfTracking::selftrackingCut MISC_15
static const HMdcSelfTracking::selftrackingCut MISC_16
static const HMdcSelfTracking::selftrackingCut MISC_17
static const HMdcSelfTracking::selftrackingCut MISC_18
static const HMdcSelfTracking::selftrackingCut MISC_19
static const HMdcSelfTracking::selftrackingCut MISC_20
static const HMdcSelfTracking::flags NEIGHBOURS
static const HMdcSelfTracking::flags LEFT_CELL_HIT
static const HMdcSelfTracking::flags RIGHT_CELL_HIT
static const HMdcSelfTracking::flags ANALYSISLAYER2_HITS
static const HMdcSelfTracking::flags ANALYSISLAYER2_DOUBLE_HITS
static const HMdcSelfTracking::flags RESIDUAL_CUT
static const HMdcSelfTracking::selftrackingStartStrip START_STRIP_1
static const HMdcSelfTracking::selftrackingStartStrip START_STRIP_2
static const HMdcSelfTracking::selftrackingStartStrip START_STRIP_3
static const HMdcSelfTracking::selftrackingStartStrip START_STRIP_4
static const HMdcSelfTracking::selftrackingStartStrip START_STRIP_5
static const HMdcSelfTracking::selftrackingStartStrip START_STRIP_6
static const HMdcSelfTracking::selftrackingStartStrip START_STRIP_7
static const HMdcSelfTracking::selftrackingStartStrip START_STRIP_8
static const HMdcSelfTracking::rightleft LEFT
static const HMdcSelfTracking::rightleft RIGHT
HMdcSelfTracking
purpose: analyse CAL1 data of individual chambers, focussing on 0deg-layer's self
correlation and fluctuations (as fct of event number).
input: hades listmode files (*.hld)
needed: calibration parameters (gain, offset)
HMdcSelfTracking(void)
Default Constructor
HMdcSelfTracking(Text_t* name,Text_t* title) : HReconstructor(name,title)
~HMdcSelfTracking(void)
Destructor.
void setDefault()
Sets default values (especially for the cuts) for the parameters
void setOutputRoot(Char_t *c)
Sets rootfile output of HMdcSelfTracking where all
created histograms were written.
Bool_t setCutbridge(UInt_t index, Bool_t b)
Disables (bridges) the following cuts
index cut details
1: TOF_BIT_CUT Tof-Bit set in Event Header?
2: START_CUT Start multiplicity = 1 and start times of the strips in the given ranges?
3: TIME1_CUT Time1 in the given range?
4: TIME2_CUT Time2 in the given range?
5: TIME_ABOVE_THRESHOLD_CUT Time above threshold in the give range?
6-19: not used
Bool_t getCutbridge(UInt_t index)
Returns the status of the cut bridge index,
description see HMdcSelfTracking::setCutbridge
void printCutbridge(void)
Prints out a table of all available cut bridges and their status
to the standard output
Bool_t setStartTimeCutWindow(UInt_t index, Float_t min, Float_t max)
sets the start time cut window for strip no. index from min to max (in ns)
if index is out of bounds kFALSE will be the default value
Bool_t setStartTimeCutMax(UInt_t index, Float_t max)
Bool_t setStartTimeCutMin(UInt_t index, Float_t min)
sets the lower limit (in ns) of the start time cut window for strip no. index
if index is out of bounds kFALSE will be the default value
Float_t getStartTimeCutMax(UInt_t index)
returns the upper limit (in ns) of the start time cut window of Start Strip no index
if index is out of bounds a default value of -999 is returned.
Float_t getStartTimeCutMin(UInt_t index)
returns the lower limit (in ns) of the start time cut window of Start Strip no index
if index is out of bounds a default value of -999 is returned.
void printStartTimeCutWindow(void)
Prints out a table of all start time cut windows for all start detector strips
to the standard output
void printCorrelationWindow(void)
Prints out residual cuts
to the standard output
void printTimeCutWindow(void)
Prints out the time cut windows
to the standard output
void printTimeAboveThresholdCutWindow(void)
Prints out the time above threshold cut windows
to the standard output
void printCorrelationFct(void)
Prints out the correltation fct parameters (1=plane1 vs. plane2, 2=1 vs. 3, 3=2 vs. 3)
to the standard output
void printAnalysisCellCutWindow(void)
Prints out the range of the cells numbers which will be used in further analysis
to the standard output
void printTimeDiffL3L4Cut()
Prints out the value for the difference
between time1 in layer 3 and time1 in layer 4
to the standard output
Bool_t init(void)
Initializes HMdcSelfTracking
void createHist()
allocate histograms
void checkAdjacentCellAnalysisLayer1(Int_t ihit, Int_t ii)
Checks whether cell ihit and cell ii are adjacent
cells in analysis layer 1 ( default= layer 3)
and if this cell combination has not been used before
fills the sum of their times to pTimesum_adj_cell3
void checkAdjacentCellAnalysisLayer2(Int_t ihit, Int_t ii)
Checks whether cell ihit and cell ii are adjacent cells in analysis layer 2 ( default= layer 4)
and if this cell combination has not been used before
fills the sum of their times to pTimesum_adj_cell4
but only if the time difference is smaller than a given value (default: 10 ns)
void findCorrelatedHits(Int_t ihit)
Compares all hit cells found in analysis layer 2 with cell ihit
and looks if there are correlated cells in analysis layer 1 and 2
Then it determines whether the hit in analysis layer 2 was in the cell left or right
beneath cell ihit in analysis layer 1
void fillHist()
void fillAnalysisHists(Int_t ihit)
Fills histogramms after all neccessary conditions are checked.
void writeHist()
Write histogramms to a rootfile.
Bool_t finalize()
Fills control histogramms and saves all histogramms to file fout
void resetCounters()
reset counters
void fillControlHists()
fill some info histos
void executeEventHeaderCheck()
Checks Event Header for TofBit
void executeStart()
First checks start detector for single hits
and secondly filters for certain time windows on the start detector times
defined per default in HMdcSelfTracking:setDefaults() or
changed by HMdcSelfTracking:setStartTimeCutWindow(strip,min,max)
void executeMdc()
void executeCorrSector()
combinatorics:
void checkCorrSector(Int_t cell, Int_t module)
void executeReset()
reset iterators
Int_t execute()
loop inside event and fill pre-defined structures, apply cuts
Inline Functions
void setActiveModule(Int_t sec, Int_t mod)
void setNoStart()
void setNoCorrSector()
void setNoCheckCorrSector()
void clearCutbridges()
void setTimeCutWindow(Float_t min, Float_t max)
void setTimeCutMax(Float_t f)
void setTimeCutMin(Float_t f)
Float_t getTimeCutMax()
Float_t getTimeCutMin()
void setTimeAboveThresholdCutWindow(Int_t i, Float_t a, Float_t b)
void setTimeAboveThresholdCutMax(Int_t i, Float_t f)
void setTimeAboveThresholdCutMin(Int_t i, Float_t f)
Float_t getTimeAboveThresholdCutMax(Int_t i)
Float_t getTimeAboveThresholdCutMin(Int_t i)
void setCorrelationFct(Int_t i, Float_t a, Float_t b, Float_t c)
void setCorrelationFctA(Int_t i, Float_t f)
void setCorrelationFctB(Int_t i, Float_t f)
void setCorrelationFctC(Int_t i, Float_t f)
Float_t getCorrelationFctA(Int_t i)
Float_t getCorrelationFctB(Int_t i)
Float_t getCorrelationFctC(Int_t i)
void setCorrelationWindow(Int_t i, Float_t a, Float_t b)
void setCorrelationWmin(Int_t i, Float_t f)
void setCorrelationWmax(Int_t i, Float_t f)
Float_t getCorrelationWmin(Int_t i)
Float_t getCorrelationWmax(Int_t i)
void setAnalysisCellCutWindow(UInt_t a, UInt_t b)
void setAnalysisCellCutMax(UInt_t f)
void setAnalysisCellCutMin(UInt_t f)
UInt_t getAnalysisCellCutMax()
UInt_t getAnalysisCellCutMin()
void setTimeDiffL3L4Cut(Float_t f)
Float_t getTimeDiffL3L4Cut()
void setMonitor(UInt_t layer, UInt_t cellNumber)
void setMonitorCell(UInt_t cell)
Int_t getMonitorCell()
void setMonitorLayer(UInt_t layer)
Int_t getMonitorLayer()
void setTimeDiffMax(Float_t time)
Float_t getTimeDiffMax()
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Last update: 02/01/01 by P.Zumbruch,J.Markert
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.