_HADES_CLASS_DESCRIPTION HMdcOffset Defines the offset parameter for MDC calibration. Uses HMdcCalParRaw container as input/output for calibration data
HMdcOffset() | |
HMdcOffset(const Text_t* name, const Text_t* title) | |
virtual | ~HMdcOffset() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | HReconstructor::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual Bool_t | HReconstructor::connectTask(HTask* task, Int_t n = 0) |
virtual void | TNamed::Copy(TObject& named) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual Int_t | execute() |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual Bool_t | finalize() |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual HTask* | HReconstructor::getComposite() |
virtual void | HReconstructor::getConnections() |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
virtual const char* | TNamed::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
virtual HTask* | HTask::getOwner() |
TObjArray | HReconstructor::getTable() |
virtual HTask* | HReconstructor::getTask(const Char_t* name) |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual Bool_t | init() |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | HReconstructor::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
virtual void | HReconstructor::isTimed(Bool_t flag = kTRUE) |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual HTask* | HReconstructor::next(Int_t& errCode) |
virtual Bool_t | TObject::Notify() |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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) |
HTask& | HTask::operator=(const HTask&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") const |
virtual void | HReconstructor::printTimer() |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual Bool_t | reinit() |
void | TObject::ResetBit(UInt_t f) |
virtual void | HReconstructor::resetTimer() |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | HReconstructor::setActive(Bool_t state)MENU |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | setCleanThreshold(Int_t thresh) |
virtual Bool_t | HTask::setConnections() |
void | setCounter(Int_t size) |
void | setDebug() |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | setFillHistsOnly(Bool_t fill) |
void | setFillPerMBO(Bool_t fillPerMBO) |
void | setFillPerMBOafterSingle(Bool_t fillPerMBO) |
void | setFilterWindow1(Float_t window) |
void | setFilterWindow2(Float_t window) |
void | setFitNoise(Bool_t fit) |
void | HTask::setManual() |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
void | setNoise(Int_t o, Int_t w) |
void | setNoiseOffset(Int_t i) |
void | setNoiseWidth(Int_t i) |
void | setNotUseStart(Bool_t nouse) |
void | setNSkipEvents(Int_t nskipevents) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | setOutputAscii(const Char_t*) |
void | setOutputRoot(const Char_t*) |
virtual void | HTask::setOwner(HTask* atask) |
void | setPulserFile() |
void | setRangeGauss(Int_t i) |
void | setReadHists(TString inp, Bool_t print = kFALSE) |
void | setSignalSpeed(Float_t speed) |
void | setThreshold(Float_t min, Float_t max) |
void | setThresholdMax(Float_t f) |
void | setThresholdMin(Float_t f) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
void | setUseClusters(Bool_t use) |
void | setUseTimeCuts(Bool_t cut) |
void | setUseTof(TString inp) |
void | setUseWireOffset(Bool_t use) |
void | setValidOffsetRange(Float_t range) |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
HMdcCalParRaw* | calparraw | pointer to HMdcCalParRaw container |
Int_t | cleanThreshold | threshold to clean hinv : bins with less than the threshold will be set to 0 |
HCategory* | clusCat | pointer to the cluster data |
float | crosspointX | x-value of the intersection point of the two linear fits->offset |
Bool_t | debug | ! debug flag |
Int_t | eventcounter | |
Bool_t | HReconstructor::fActive | Active flag |
TList* | HReconstructor::fHistograms | List of histograms generated by this reconstructor. |
Bool_t | HTask::fIsTimed | timer flag |
TString | TNamed::fName | object identifier |
Char_t* | fNameAsciiOffset | file name of ascii output file |
Char_t* | fNameRootOffset | file name of root output file |
TObjArray | HReconstructor::fOutputs | |
TStopwatch | HReconstructor::fTimer | Task timer |
TString | TNamed::fTitle | object title |
FILE* | ferrorlog | File pointer to errorlog |
Int_t | filenumber | counter for the read histogram files |
Bool_t | fillHistsOnly | switch to fill hists only (no offset calculation) |
Float_t | filterwindow1 | wide window arround mean to filter (perMBOafterSingle) |
Float_t | filterwindow2 | narrow window arround mean to filter (perMBOafterSingle) |
float | fitGaussMean | mean of the gaussian fit |
float | fitGaussSigma | sigma of the gaussian fit |
Bool_t | fitNoise | fit noise or don't |
float | fitpar0 | first fit parameter of the first linear fit |
float | fitpar0error | error of the first fit parameter of the first linear fit |
float | fitpar1 | second fit parameter of the first linear fit |
float | fitpar1error | error of the second fit parameter of the first linear fit |
float | fitparNoise0 | first fit parameter of the second linear fit |
float | fitparNoise0error | error of the first fit parameter of the second linear fit |
float | fitparNoise1 | second fit parameter of the second linear fit |
float | fitparNoise1error | error of the second fit parameter of the second linear fit |
Float_t | fitslope1[6][4][16][96] | |
Float_t | fitslope2[6][4][16][96] | |
TH1F* | hint | integrated drift-time histograms |
TH1F* | hinv | drift-time histograms to hold collected data |
HCategory* | hitStartCat | pointer to the cal data |
int* | hreverse[6][4][16][96][2048] | array for the drift-time (Time1) to be filled in eventloop |
TH2F* | htime1_lay[6] | 2-D hist time1 vers cell |
TH2F* | htime1_lay_int[6] | 2-D hist integrated time1 vers cell |
TH2F* | htime1_lay_int_norm[6] | 2-D hist integrated time1 vers cell normalized to counts |
TH2F* | htime1_lay_inv_norm[6] | 2-D hist time1 vers cell normalized to counts |
TH2F* | htime1_mbo[16] | 2-D hist time1 vers tdc |
TH1F* | htime1temp | temp drift-time histogram |
Int_t | integral[6][4][16][96] | |
Bool_t | HTask::isConnected | |
Bool_t | HTask::isInitialised | |
Bool_t | isPulserFile | flag for a external calibration file (pulser) |
HIterator* | iter | iterator on raw data |
HIterator* | iter_clus | iterator on clus data. |
HIterator* | iter_start | iterator on start cal data. |
HLocation | locraw | |
HMdcLookupGeom* | lookupgeom | pointer to HMdcLookupGeom container |
HMdcLookupRaw* | lookupraw | pointer to HMdcLookupRaw container |
Bool_t | HTask::manual | |
Float_t | maxfitthreshold | maximum threshold for linear fit (y-range) |
Float_t | meanhOffset | |
Float_t | minfitthreshold | minimum threshold for linear fit (y-range) |
Float_t | myerror | |
Float_t | myoffset | |
Int_t | nSkipEvents | number of skipped events per file |
Int_t | nStep | step size for print events |
static const Int_t | nSubEvents | The max. number of objects per event |
static const Int_t | nbin | Number of bins ih the histogramms |
static const Int_t | nbinm1 | nbin - 1 |
static const Int_t | nbinp1 | nbin + 1 |
Bool_t | noStart | flag if starttime should not be used |
Float_t | offset1[6][4][16][96] | |
Float_t | offsetErr[6][4][16][96] | |
TNtuple* | offsetPulserTuple | pointer to NTuple for multiple peaks of pulser files |
TNtuple* | offsetTuple | pointer to NTuple for offset |
Int_t | offsetfitNoise | offset of the fit range for the subtraction of the noise (start at yequalzero going to the left) |
Float_t | offsetpulser[6][4][16][96][5] | |
Float_t | offsets[6][4][16][96] | |
HTask* | HTask::owner | |
Bool_t | perMBO | switch to calc offsets per MBO |
Bool_t | perMBOafterSingle | switch to calc offsets per MBO from single offsets |
Int_t | rangeGauss | fit range of the gaussian fit around calculated offset |
HCategory* | rawCat | pointer to the raw data |
Bool_t | readHists | switch to read hists from root file and than calculate offset |
Float_t | signalspeed | ! speed of the signal on the wire [ns/mm] |
HMdcSizesCells* | sizescells | pointer to HMdcSizesCells container |
Int_t | skipcounter | |
HMdcTimeCut* | timecut | pointer to HMdcTimeCut container |
TF1* | toffunc[4][6] | TF1 fits for minimum tof |
float | totalsigma | sigma of the offset calculated from the sigmas of the two linear fits |
Bool_t | useClusters | switch on/off clusters/raw |
Bool_t | useTimeCuts | switch on/off time cuts usage |
Bool_t | useTof | switch on/off substraction of minimum tof |
Bool_t | useWireOffset | switch on/off substraction of signal time on wire |
Float_t | validRange | allowed interval arround mean of offsets |
Int_t | widthfitNoise | width of the fit range |
float | yequalzero | intersection point of the first fit and the x-axis |
Sets rootfile output of HMdcOffset where all created histograms were written.
Retrieves TF1's for min tof substraction from root file and switches the usesage of tof substraction kTRUE.
Retrieves TF1's for min tof substraction from root file and switches the usesage of tof substraction kTRUE.
Histograms for inverted Time1 and integrated Time1 per Tdc-Channel are created in a subdirectory structure.
Histograms for inverted Time1 and integrated Time1 per Tdc-Channel are created in a subdirectory structure.
Histograms for inverted Time1 and integrated Time1 per Tdc-Channel are filled
Histograms for Time1 vers Tdc-Channel and cell are filled
The offset is calculated from two linear fits. Some pictures of the fitted histograms can be found onMDC calibration page
. The first linear fit (red) is done to find the rising edge of the integrated spectra. The second linear fit (blue) is done to substract the noise. The ranges for both fits can be set through the functions setNoise()(x-range) for the second fit (default values: 100,50) and setThreshold()(y-range) for the first fit (default values :0.15,0.50). The y-range is calculated by the percentage of the maximum height of the spectra. The offset ist calculated from the intersection point of both linear fits. The sigma of the offset is calculated from the sigmas of the two linear fits. If the analyzed file is a pulser file for external calibration a gaussian fit is done. To set this fit the function setPulserFile() has to be used in the macro. The range of the fit is set through the function setRangeGauss()(default value: 50) around the maximum. The mean and sigma of the fit is written to the ascii debugging output. The hist is checked for multiple peaks.The peaks which have been found are written to an array.
The adresses of the channel(sector,module,mbo,tdc),offset, two fitparameters for the two linear fits, the sigma of the offset ,offset and the integral(number of entries for this channel) are written to the ascii debugging output.In the case of an pulser file (external calibration) the mean and the sigma of the gaussian fit are also written to the output.
All created histograms are written to a rootfile. The file is structured for sector,module,mbo.
This function is called after the execute function is finished. At this point the arrays for the drift-time are filled. Froms this arrays the histograms for the drift-time and the integrated drift-time are filled. The fits for the calcutation of the offsets are done and the offsets and the sigma of the offsets are calculated .All histograms are written to a rootfile output and the information of the fits to an ascii debugging output. The offset and the sigma of the offset are filled into the container (HMdcCalParRaw) for the calibration parameters. To characterize the method of calculation of the offsets the function setOffsetMethod() of HMdcCalParRaw is used. As default value for the method 2 is used for automatic calibration. If no calibration is done this value is set to 0.
Function to create subdirectories
Need some work for multiple hists in start detector Better select multiplicity 1 in start.
Fired cells are take from the list of Cells inside one HMdcClus. Raw data of Time1 multiplied by the slope of the channel taken from the container of the calibration parameters are filled into the array for the drift-time . This array contains 2048 (corresponding to the resulution of the tdc chip) entries for each tdc channel.
Raw data of Time1 multiplied by the slope of the channel taken from the container of the calibration parameters are filled into the array for the drift-time . This array contains 2048 (corresponding to the resulution of the tdc chip) entries for each tdc channel.