EEsmdCalibration


class description - source file - inheritance tree

class EEsmdCalibration : public TDirectory


    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)

Data Members


    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

Class Description

 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.