EEsmdCalibration
class description - source file - inheritance tree
protected:
Int_t fitQAcut(Int_t icluster, Int_t iuv)
Int_t isolationCut(Int_t ic)
Int_t profileQAcut(Int_t icluster, Int_t iuv)
public:
EEsmdCalibration(const Char_t* name, const Char_t* title = "EEMC strip-to-strip relative calibrations")
virtual ~EEsmdCalibration()
static TClass* Class()
void Clear()
Int_t Init()
virtual TClass* IsA() const
void kludgeGains()
Int_t Make()
void newDb(Int_t sectorMin = 0, Int_t sectorMax = 11)
void newDbRatio(Int_t sectorMin = 0, Int_t sectorMax = 11)
void scaleGains(Float_t scale, Int_t ifirst, Int_t jlast)
void setAnalysis(EEezAnalysis* a)
void setClusterFinder(EEezClAnalysis* a)
void setClusterProfiler(EEsmdProfile* p)
void setDb(EEmcDb* db)
void setMaxShift(Float_t ms)
void setMinYield(Float_t y)
void setNSigma(Float_t s)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
EEezAnalysis* m_EEezAnaly
EEezClAnalysis* m_EEezClust
EEsmdProfile* m_EEsmdProf
EEmcDb* m_EEmcDbase
TProfile* m_GainShift[12][2]
TProfile* m_CrossCalib[12][2]
TH1F* m_SumMips[12][2]
TH1F* m_SumHits[12][2]
TProfile* m_MeanMips[12][2]
TH2F* m_Chi2VsStrip Chi^2 versus strip ID (all planes)
TH2F* m_Chi2VsEclust Chi^2 versus cluster energy
TProfile* m_YieldVsEclust fit MIP yield vs cluster energy
TProfile* m_SigmaVsEclust fit width vs cluster energy
TProfile* m_FracVsEclust fraction of 2nd gaussian vs cluster energy
TH2F* m_Chi2VsShape Chi^2 versus (eSeed/eCluster)
TH1F* m_CutEvents Reason why each event was cut
TH1F* m_Residuals[12][288]
TH1F* m_YieldToFit[12][2][288]
TProfile* m_ResidualsVsEclust[12] mean residuals versus energy
TProfile* m_ResidualsVsChi2[12] residuals vs chi2 of the fit
TProfile* m_ResidualsVsDist[12] ... vs distance from mean
Int_t m_SelectStrips[12]
Int_t m_SelectStripMap[288]
TH1F* m_NDF fit degrees of freedom
TH1F* m_NumClusters
Float_t m_NSigma
Float_t m_YieldMin
Float_t m_MaxShift
EEsmdCalibration
Author: Jason C. Webb <jwebb@iucf.indiana.edu>
This class is designed to iteratively measure the ESMD strip-to-strip
gains....
Ungh... It's looking more and more like a fortran program.
EEsmdCalibration( const Char_t *name, const Char_t *title )
: TDirectory(name,title)
Class constructor
Int_t Init()
Initialization of histograms and internal data structures.
Int_t Make()
Process one event. NOTE... given root's terse documentation
of TH1::FindBin(), there is a nonzero chance of a binning error
here... if rumors of underflow and overflow bins turn out to
be true.
void Clear()
Clear internal data structures
void newDb( Int_t ifirst, Int_t ilast )
Calculates and loads into the database structures a new set of
gains, based on the current state of the profile histograms.
void kludgeGains()
Sets initial SMD gains IN THE DATABASE to a parameterization of the
mean #pe per MIP, setting the single photoelectron peak at ADC
channel 8.
void newDbRatio ( Int_t ifirst, Int_t ilast )
Calculates new database values based on the histograms
of the event-by-event ratios of data yield / fit.
Int_t isolationCut ( Int_t icluster )
Determine if the given cluster is isolated in the sector,
in the sense that it is unlikely that neighboring towers
contain hits which may contaminate the SMD strips in the
seed tower.
A return value of 1 indicates the cluster FAILED the
isolation cut.
This will be a simple isolation cut. Any tower within +/- 3
etabins which is occupied will trigger the cut (any tower
not within the cluster that is.)
void scaleGains( Float_t scale, Int_t ifirst, Int_t ilast )
Apply a one-time normalization to the gains for all planes
Int_t fitQAcut ( Int_t icluster, Int_t iuv )
Perform simple QA cuts on the profile histogram(s). A return
value of "1" indicates the cut was triggered and the event
should be excluded from further analysis.
Int_t profileQAcut( Int_t icluster, Int_t iuv )
Perform simple QA analysis of the SMD distributions beneath
an identified, isolated shower
Inline Functions
void setDb(EEmcDb* db)
void setAnalysis(EEezAnalysis* a)
void setClusterFinder(EEezClAnalysis* a)
void setClusterProfiler(EEsmdProfile* p)
void setNSigma(Float_t s)
void setMinYield(Float_t y)
void setMaxShift(Float_t ms)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
void ~EEsmdCalibration()
Author: Jason C. Webb
Last update: Tue Jun 1 11:20:47 2004
ROOT page - Class index - 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.