class HMdcGarSignalReader: public TNamed

_HADES_CLASS_DESCRIPTION

 HMdcGarSignalReader
 Reads Ascii files containing signals produced by GARFIELD.
 Hists for Signal, integrated Signal,ditribution of Time1 and Time2,
 summed signals per sample point and summed integrated signals per sample point
 can be filled and written to the output file. Hists for maximum charge per
 mdc (angle,sample) or (angle,sample,signal) are filled to define the max value
 for the threshold calulations. The main output hists for time1 and time2 as function
 of distance from wire including the errors are filled from the distribtution hists
 for time1 and time2 (mean+RMS) for different threshold values. Those hists are input
 to HMdcGarCal2Maker and HMdcGarEffMaker to produce the CAL2 and efficiency
 parameters for MDC.

Function Members (Methods)

public:
HMdcGarSignalReader(const HMdcGarSignalReader&)
HMdcGarSignalReader(const Char_t* name = "", const Char_t* title = "")
virtual~HMdcGarSignalReader()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
voidcloseOutput()
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Float_tgetBinSizeDist()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Float_tgetMinSignal(Int_t i)
virtual const char*TNamed::GetName() const
Int_tgetNBinDist()
Int_tgetNBinSignal()
Int_tgetNSignals()
Int_tgetNStep()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Float_tgetRangeSignal()
Float_tgetSigma1()
Float_tgetSigma2()
Float_tgetStepSize()
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidmake(Int_t, Int_t, TString)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
HMdcGarSignalReader&operator=(const HMdcGarSignalReader&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidprintStatus()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidsetBinSizeDist(Float_t i)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetFileNameIn(TString)
voidsetFileNameOut(TString)
voidsetMinSignal(Float_t i, Float_t j, Float_t k, Float_t l)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidsetNBinDist(Int_t i)
voidsetNBinSignal(Int_t i)
voidsetNSignals(Int_t i)
voidsetNStep(Int_t i)
static voidTObject::SetObjectStat(Bool_t stat)
voidsetRangeSignal(Float_t i)
voidsetSigma1(Float_t sig)
voidsetSigma2(Float_t sig)
voidsetSimResponse(Bool_t sim)
voidsetStepSize(Float_t i)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidsetVersion(Int_t vers)
voidsetWriteHists(Bool_t signal, Bool_t signalint, Bool_t sum, Bool_t dist, Bool_t timedistance, Bool_t mincharge)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
Bool_tcheck(Int_t, Int_t, Int_t, Int_t, TH1F*)
voidcreateChargeHists()
voidcreateHistArrays(Int_t, Int_t, Int_t, Int_t)
voidcreateHists(Int_t, Int_t, Int_t, TH1F**, TH1F**, TH1F**, TH1F**)
voiddeleteChargeHists()
voiddeleteHistArrays(Int_t type)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidfillChargeHists(Int_t, Int_t, Int_t, Int_t, Int_t, TH1F*, TH1F*)
voidfillDriftTimeVersusDistance(Int_t, Int_t, Int_t)
voidfindThresholds(Int_t, TH1F*)
voidinitHistArrays()
voidinitVariables()
voidintegrateHists(Int_t, Int_t, Int_t, Int_t, TH1F*, TH1F*)
voidTObject::MakeZombie()
voidreadInput(Int_t, Int_t)
voidresponse(Float_t mean, Float_t scale)
voidsimulateResponse(TH1F*, TH1F*)
voidwriteChargeHists()
voidwriteHist(TH1F* h, Int_t i)
voidwriteHistArrays(Int_t type)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Float_tbinSizeDist! size of bin hist drift time vs distance (mm)
TStringTNamed::fNameobject identifier
TStringfNameAsciiIn! file name of root input file
TStringfNameRootOut! root file pointer
TStringTNamed::fTitleobject title
TH1F*hdist_1[10]! distribution of time1 per threshold step
TH1F*hdist_2[10]! distribution of time2 per threshold step
TH1F*hminCharge[4]! hist for minimum charge per mdc type
TH1F*hminChargeSum[4]! hist for minimum charge from sum hist per mdc type
TH1F*hresponse! response hist
TH1F*htime1[10]! hist for time1 vs distance per threshold step
TH1F*htime2[10]! hist for time2 vs distance per threshold step
FILE*inputAscii! file pointer to input
Float_tminSignal[4]maximum charge per module type
TPaveText*myconfig! configuration discription
Int_tnBinDist! number of bins of hist drift time vs distance
Int_tnBinSignal! number of bins of signal hist
Int_tnSignals! number of signals per sample point
Int_tnStep! number of threshold steps
Int_tnmake! counter for calling make
TFile*outputRoot! root file pointer
Float_trangeSignal! upperrange signal hist
Float_tsigma1! sigma 1 of reponse function of adc
Float_tsigma2! sigma 2 of reponse function of adc
Bool_tsimResponse! switch simulate response of adc / simple integration
Float_tstepsize! size of threshold step
Int_tversion! read different GARFIELD versions (704,708 (skip))
Bool_twritehists[6]! switch write on/off for signal

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMdcGarSignalReader(const Char_t* name = "", const Char_t* title = "")
 constructor for HMdcGarSignalReader
~HMdcGarSignalReader()
 destructor of HMdcGarSignalReader
void setFileNameOut(TString )
 Sets root output of HMdcGarSignalReader
void setFileNameIn(TString )
 Sets root input of HMdcGarSignalReader
void initVariables()
 inits all variables
void response(Float_t mean, Float_t scale)
void simulateResponse(TH1F* , TH1F* )
void createChargeHists()
 creates hists for maximum charge per mdc,angle,sample,signal (per signal)
 or mdc,angle,sample (per summed signal)
void fillChargeHists(Int_t , Int_t , Int_t , Int_t , Int_t , TH1F* , TH1F* )
 fills hists for maximum charge per mdc,angle,sample,signal (per signal)
 or mdc,angle,sample (per summed signal)
void writeChargeHists()
 writes hists for charge to file
void deleteChargeHists()
 delete charge hists
void printStatus(void)
 prints the parameters to the screen
void make(Int_t , Int_t , TString )
 function to be called from macro.
 opens input and output file, loops over input
void readInput(Int_t , Int_t )
 reads from ascii file containing signals produced by GARFIELD
 Creates subdirectory structure in output file, fills and writes hists for
 signals, time1 and time2 and max charge
void fillDriftTimeVersusDistance(Int_t , Int_t , Int_t )
 fills main hist for time1 and time2 including errors by mean and RMS of the distribution
 signals of time1 and time2.
Bool_t check(Int_t , Int_t , Int_t , Int_t , TH1F* )
 checks if hist is not empty
void findThresholds(Int_t , TH1F* )
 loops over signals hist to find the time value at threshold
 for different thresholds
void createHists(Int_t , Int_t , Int_t , TH1F** , TH1F** , TH1F** , TH1F** )
 create hists for signal/integrated signal (type==0 per signal)
 or sum/integrated sum(type==1 per sample)
void createHistArrays(Int_t , Int_t , Int_t , Int_t )
 creates his arrays for time1 and time2 as function of distance to wire
 for different thresholds (type==1 per angle)
 or hists for distribution of time1 and time2 (type==2 per sample)
create hists per sample point
void integrateHists(Int_t , Int_t , Int_t , Int_t , TH1F* , TH1F* )
 ingetrate signal hist
void closeOutput()
 writes charge hist and closes output file
void initHistArrays()
void writeHistArrays(Int_t type)
writeHist(TH1F* h, Int_t i)
void deleteHistArrays(Int_t type)
HMdcGarSignalReader(const Char_t* name = "", const Char_t* title = "")
void setVersion(Int_t vers)
void setSigma1(Float_t sig)
{sigma1=sig;}
void setSigma2(Float_t sig)
{sigma2=sig;}
void setSimResponse(Bool_t sim)
{simResponse=sim;}
Float_t getSigma1()
{return sigma1;}
Float_t getSigma2()
{return sigma2;}
void setNSignals(Int_t i)
{nSignals=i;}
Int_t getNSignals()
{return nSignals;}
void setNBinSignal(Int_t i)
{nBinSignal=i;}
Int_t getNBinSignal()
{return nBinSignal;}
void setRangeSignal(Float_t i)
{rangeSignal=i;}
Float_t getRangeSignal()
{return rangeSignal;}
void setNBinDist(Int_t i)
{nBinDist=i;}
Int_t getNBinDist()
{return nBinDist;}
void setBinSizeDist(Float_t i)
{binSizeDist=i;}
Float_t getBinSizeDist()
{return binSizeDist;}
void setNStep(Int_t i)
{nStep=i;}
Int_t getNStep()
{return nStep;}
void setStepSize(Float_t i)
{stepsize=i;}
Float_t getStepSize()
{return stepsize;}
void setMinSignal(Float_t i, Float_t j, Float_t k, Float_t l)
Float_t getMinSignal(Int_t i)
{return minSignal[i];}
void setWriteHists(Bool_t signal, Bool_t signalint, Bool_t sum, Bool_t dist, Bool_t timedistance, Bool_t mincharge)

Last change: Sat May 22 13:02:00 2010
Last generated: 2010-05-22 13:02

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.