class HMetaMatchPar: public HParCond

_HADES_CLASS_DESCRIPTION


  HMetaMatchPar

  Parameter container for HMetaMatchF

 Rich:
   Tr - angle theta of ring from HRichHit (in degree) in lab.coor.sys.
   Pr - angle phi of ring from HRichHit (in degree) in lab.coor.sys.
   Tm - angle theta of ring from HRichHit (in degree) in lab.coor.sys.
   Pm - angle phi of ring from HRichHit (in degree) in lab.coor.sys.
   SigmaTheta= (richThetaMaxCut - richThetaMinCut)/2.
   Toffset   = (richThetaMinCut + richThetaMaxCut)/2.
   qualityRich =
     sqrt[((Pr - Pm - richSigmaPhiOffset)*sin(Tm)/richSigmaPhi)^2 +
          ((Tr - Tm - Toffset)/SigmaTheta)^2]

   Condition of RICH MDC matching:  qualityRich < richQualityCut

   Parameters preparation (for each sector):
     From distribution of (Tr-Tm) to get
     window "richThetaMinCut" - "richThetaMaxCut".
     From distribution of (Pr-Pm) to get (by Gaus approximation for example)
     "richSigmaPhiOffset" (mean of approximation).
     From distribution of (Pr-Pm-richSigmaPhiOffset)*sin(Tm) to get
     "richSigmaPhi" (sigma of this distr.).
     Select "richQualityCut", for example 1.0.

  RichIPU:
   Tr - angle theta of ring from HRichHitIPU (in degree) in lab.coor.sys.
   Pr - angle phi of ring from HRichHitIPU (in degree) in lab.coor.sys.
   Tm - angle theta of ring from HRichHitIPU (in degree) in lab.coor.sys.
   Pm - angle phi of ring from HRichHitIPU (in degree) in lab.coor.sys.
   SigmaTheta= (richIPUThetaMaxCut - richIPUThetaMinCut)/2.
   Toffset   = (richIPUThetaMinCut + richIPUThetaMaxCut)/2.
   qualityRichIPU =
     sqrt[((Pr - Pm - richIPUSigmaPhiOffset)*sin(Tm)/richIPUSigmaPhi)^2 +
          ((Tr - Tm - Toffset)/SigmaTheta)^2]

   Condition of RICHIPU MDC matching:  qualityIPURich < richIPUQualityCut

   Parameters preparation (for each sector):
     From distribution of (Tr-Tm) to get
     window "richIPUThetaMinCut" - "richIPUThetaMaxCut".
     From distribution of (Pr-Pm) to get (by Gaus approximation for
     example) "richIPUSigmaPhiOffset" (mean of this distr.).
     From distribution of (Pr-Pm-richIPUSigmaPhiOffset)*sin(Tm) to get
     "richIPUSigmaPhi" (sigma of this distr.).
     Select "richIPUQualityCut", for example 1.0


 Shower:
   Xs,Ys - shower hit position in coordinate system of shower module
   dXs,dYs - hit position errors (== HShowerHit::getSigmaX(), getSigmaY())
   Xm,Ym - mdc segment cross point with shower module in coordinate system
           of corresponding shower module
   qualityShower =
     sqrt[((Xs - Xm - showerSigmaXOffset)/sqrt(dXs^2 + showerSigmaXMdc^2))^2 +
          ((Ys - Ym - showerSigmaYOffset)/sqrt(dYs^2 + showerSigmaYMdc^2))^2]

   Condition of SHOWER MDC matching:  qualityShower < showerQualityCut

   Parameters preparation (for each sector):
     From distribution of (Xs-Xm) to get "showerSigmaXOffset"
     (mean of this distr.).
     From distribution of (Xs-Xm-showerSigmaXOffset)/dXs (!) to get
     sigma of this distribution.
     If sigma > 1. to calculate "showerSigmaXMdc" = sqrt(sigma^2 - 1.),
     otherwise set "showerSigmaXMdc" = 0.
     From distribution of (Ys-Ym) to get "showerSigmaYOffset".
     From distribution of (Ys-Ym-showerSigmaYOffset)/dYs (!) to get
     sigma of this distribution.
     If sigma > 1. to calculate "showerSigmaYMdc" = sqrt(sigma^2 - 1.),
     otherwise set "showerSigmaYMdc" = 0.
     Select "showerQualityCut", for example 5.0 (five sigmas cut).


 Tof:
   Xt,Yt - toh hit (or tof cluster position in coordinate system of tof module
   Xm,Ym - mdc segment cross point with tof module in coordinate system
           of corresponding tof module
   qualityTof = sqrt[ ((Xt - Xm - tofSigmaXOffset)/tofSigmaX)^2 +
                      ((Yt - Ym - tofSigmaYOffset)/tofSigmaY)^2 ]

   Condition of TOF MDC matching:  qualityTof < tofQualityCut

   Parameters preparation (for each sector):
     From distribution of (Xt-Xm) to get "tofSigmaX" (sigma of this distr.)
     and "tofSigmaXOffset" (mean of this distr).
     From distribution of (Yt-Ym) to get "tofSigmaY" (sigma of this distr.)
     and "tofSigmaYOffset" (mean of this distr).
     Select "tofQualityCut", for example 5.0 (five sigmas cut).


Function Members (Methods)

public:
HMetaMatchPar(const HMetaMatchPar&)
HMetaMatchPar(const Char_t* name = "MetaMatchPar", const Char_t* title = "Meta match parameters", const Char_t* context = "MetaMatchProductionCuts")
virtual~HMetaMatchPar()
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 voidclear()
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
voidHParSet::copyComment(HParSet& r)
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
const Char_t*HParSet::getAuthor() const
const Char_t*HParSet::getDescription() const
const Text_t*HParSet::getDetectorName()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Int_tHParSet::getInputVersion(Int_t i)
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const Char_t*HParSet::getParamContext() const
virtual Bool_tgetParams(HParamList*)
Float_tgetRichIPUQualityCut(Int_t s)
Float_tgetRichIPUSigmaPhi(Int_t s)
Float_tgetRichIPUSigmaPhiOffset(Int_t s)
Float_tgetRichIPUThetaMaxCut(Int_t s)
Float_tgetRichIPUThetaMinCut(Int_t s)
Float_tgetRichQualityCut(Int_t s)
Float_tgetRichSigmaPhi(Int_t s)
Float_tgetRichSigmaPhiOffset(Int_t s)
Float_tgetRichThetaMaxCut(Int_t s)
Float_tgetRichThetaMinCut(Int_t s)
Float_tgetShowerQualityCut(Int_t s)
Float_tgetShowerSigmaXMdc(Int_t s)
Float_tgetShowerSigmaXOffset(Int_t s)
Float_tgetShowerSigmaYMdc(Int_t s)
Float_tgetShowerSigmaYOffset(Int_t s)
virtual const char*TNamed::GetTitle() const
Float_tgetTofQualityCut(Int_t s)
Float_tgetTofSigmaX(Int_t s)
Float_tgetTofSigmaXOffset(Int_t s)
Float_tgetTofSigmaY(Int_t s)
Float_tgetTofSigmaYOffset(Int_t s)
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHParSet::hasChanged()
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 Bool_tinit(HParIo*, Int_t* set = 0)
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_tHParSet::isStatic()
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
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)
HMetaMatchPar&operator=(const HMetaMatchPar&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidHParSet::print()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidHParCond::printParams()
virtual voidputParams(HParamList*)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidHParSet::resetInputVersions()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidHParSet::setAuthor(const Char_t* s)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidHParSet::setChanged(Bool_t flag = kTRUE)
voidHParSet::setDescription(const Char_t* s)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidHParSet::setInputVersion(Int_t v = -1, Int_t i = 0)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidHParSet::setParamContext(const Char_t*)
voidsetRichIPUQualityCut(Float_t v, Int_t s)
voidsetRichIPUSigmaPhi(Float_t v, Int_t s)
voidsetRichIPUSigmaPhiOffset(Float_t v, Int_t s)
voidsetRichIPUThetaMaxCut(Float_t v, Int_t s)
voidsetRichIPUThetaMinCut(Float_t v, Int_t s)
voidsetRichQualityCut(Float_t v, Int_t s)
voidsetRichSigmaPhi(Float_t v, Int_t s)
voidsetRichSigmaPhiOffset(Float_t v, Int_t s)
voidsetRichThetaMaxCut(Float_t v, Int_t s)
voidsetRichThetaMinCut(Float_t v, Int_t s)
voidsetShowerQualityCut(Float_t v, Int_t s)
voidsetShowerSigmaXMdc(Float_t v, Int_t s)
voidsetShowerSigmaXOffset(Float_t v, Int_t s)
voidsetShowerSigmaYMdc(Float_t v, Int_t s)
voidsetShowerSigmaYOffset(Float_t v, Int_t s)
voidHParSet::setStatic(Bool_t flag = kTRUE)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidsetTofQualityCut(Float_t v, Int_t s)
voidsetTofSigmaX(Float_t v, Int_t s)
voidsetTofSigmaXOffset(Float_t v, Int_t s)
voidsetTofSigmaY(Float_t v, Int_t s)
voidsetTofSigmaYOffset(Float_t v, Int_t s)
virtual voidTObject::SetUniqueID(UInt_t uid)
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_twrite(HParIo*)
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

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:
TStringHParSet::authorAuthor of parameters
Bool_tHParSet::changed! flag is kTRUE if parameters have changed
TStringHParSet::descriptionDescription of parameters
Text_tHParSet::detName[10]! name of the detector the container belongs to
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
TStringHParSet::paramContextContext/purpose for parameters and conditions
TArrayFrichIPUQualityCutcut for quality RICHIPU MDC matching
TArrayFrichIPUSigmaPhisigma phi of RICHIPU MDC matching
TArrayFrichIPUSigmaPhiOffsetphi-offset for sigma in RICHIPU MDC matching
TArrayFrichIPUThetaMaxCutupper limit of delta theta cut in RICHIPU MDC matching
TArrayFrichIPUThetaMinCutlower limit of delta theta cut in RICHIPU MDC matching
TArrayFrichQualityCutcut for quality RICH MDC matching
TArrayFrichSigmaPhisigma phi of RICH MDC matching
TArrayFrichSigmaPhiOffsetphi-offset for sigma in RICH MDC matching
TArrayFrichThetaMaxCutupper limit of delta theta cut in RICH MDC matching
TArrayFrichThetaMinCutlower limit of delta theta cut in RICH MDC matching
TArrayFshowerQualityCutcut for quality of MDC SHOWER matching
TArrayFshowerSigmaXMdcsigma of MDC segment cross point of SHOWER
TArrayFshowerSigmaXOffsetx-offset for sigma in MDC SHOWER matching
TArrayFshowerSigmaYMdcsigma of MDC segment cross point of SHOWER
TArrayFshowerSigmaYOffsety-offset for sigma in MDC SHOWER matching
Bool_tHParSet::status! static flag
TArrayFtofQualityCutcut for quality of MDC TOF matching
TArrayFtofSigmaXsigma (x-dir) of MDC TOF matching
TArrayFtofSigmaXOffsetx-offset for sigma in MDC TOF matching
TArrayFtofSigmaYsigma (y-dir) of MDC TOF matching
TArrayFtofSigmaYOffsety-offset for sigma in MDC TOF matching
Int_tHParSet::versions[3]! versions of container in the 2 possible inputs

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMetaMatchPar(const Char_t* name = "MetaMatchPar", const Char_t* title = "Meta match parameters", const Char_t* context = "MetaMatchProductionCuts")
 constructor
Bool_t init(HParIo* , Int_t* set = 0)
 initializes the container from an input
Int_t write(HParIo* )
 writes the container to an output
void clear(void)
 all parameters are initialized with 0.
void putParams(HParamList* )
 puts all parameters to the parameter list, which is used by the io
Bool_t getParams(HParamList* )
 gets all parameters from the parameter list, which is used by the io
HMetaMatchPar(const Char_t* name = "MetaMatchPar", const Char_t* title = "Meta match parameters", const Char_t* context = "MetaMatchProductionCuts")
{}
Float_t getRichThetaMinCut(Int_t s)
{return richThetaMinCut[s];}
Float_t getRichThetaMaxCut(Int_t s)
{return richThetaMaxCut[s];}
Float_t getRichSigmaPhi(Int_t s)
{return richSigmaPhi[s];}
Float_t getRichSigmaPhiOffset(Int_t s)
{return richSigmaPhiOffset[s];}
Float_t getRichQualityCut(Int_t s)
{return richQualityCut[s];}
Float_t getRichIPUThetaMinCut(Int_t s)
{return richIPUThetaMinCut[s];}
Float_t getRichIPUThetaMaxCut(Int_t s)
{return richIPUThetaMaxCut[s];}
Float_t getRichIPUSigmaPhi(Int_t s)
{return richIPUSigmaPhi[s];}
Float_t getRichIPUSigmaPhiOffset(Int_t s)
{return richIPUSigmaPhiOffset[s];}
Float_t getRichIPUQualityCut(Int_t s)
{return richIPUQualityCut[s];}
Float_t getShowerSigmaXMdc(Int_t s)
{return showerSigmaXMdc[s];}
Float_t getShowerSigmaYMdc(Int_t s)
{return showerSigmaYMdc[s];}
Float_t getShowerSigmaXOffset(Int_t s)
{return showerSigmaXOffset[s];}
Float_t getShowerSigmaYOffset(Int_t s)
{return showerSigmaYOffset[s];}
Float_t getShowerQualityCut(Int_t s)
{return showerQualityCut[s];}
Float_t getTofSigmaX(Int_t s)
{return tofSigmaX[s];}
Float_t getTofSigmaY(Int_t s)
{return tofSigmaY[s];}
Float_t getTofSigmaXOffset(Int_t s)
{return tofSigmaXOffset[s];}
Float_t getTofSigmaYOffset(Int_t s)
{return tofSigmaYOffset[s];}
Float_t getTofQualityCut(Int_t s)
{return tofQualityCut[s];}
void setRichThetaMinCut(Float_t v, Int_t s)
{richThetaMinCut.AddAt(v,s);}
void setRichThetaMaxCut(Float_t v, Int_t s)
{richThetaMaxCut.AddAt(v,s);}
void setRichSigmaPhi(Float_t v, Int_t s)
{richSigmaPhi.AddAt(v,s);}
void setRichSigmaPhiOffset(Float_t v, Int_t s)
{richSigmaPhiOffset.AddAt(v,s);}
void setRichQualityCut(Float_t v, Int_t s)
{richQualityCut.AddAt(v,s);}
void setRichIPUThetaMinCut(Float_t v, Int_t s)
{richIPUThetaMinCut.AddAt(v,s);}
void setRichIPUThetaMaxCut(Float_t v, Int_t s)
{richIPUThetaMaxCut.AddAt(v,s);}
void setRichIPUSigmaPhi(Float_t v, Int_t s)
{richIPUSigmaPhi.AddAt(v,s);}
void setRichIPUSigmaPhiOffset(Float_t v, Int_t s)
{richIPUSigmaPhiOffset.AddAt(v,s);}
void setRichIPUQualityCut(Float_t v, Int_t s)
{richIPUQualityCut.AddAt(v,s);}
void setShowerSigmaXMdc(Float_t v, Int_t s)
{showerSigmaXMdc.AddAt(v,s);}
void setShowerSigmaYMdc(Float_t v, Int_t s)
{showerSigmaYMdc.AddAt(v,s);}
void setShowerSigmaXOffset(Float_t v, Int_t s)
{showerSigmaXOffset.AddAt(v,s);}
void setShowerSigmaYOffset(Float_t v, Int_t s)
{showerSigmaYOffset.AddAt(v,s);}
void setShowerQualityCut(Float_t v, Int_t s)
{showerQualityCut.AddAt(v,s);}
void setTofSigmaX(Float_t v, Int_t s)
{tofSigmaX.AddAt(v,s);}
void setTofSigmaY(Float_t v, Int_t s)
{tofSigmaY.AddAt(v,s);}
void setTofSigmaXOffset(Float_t v, Int_t s)
{tofSigmaXOffset.AddAt(v,s);}
void setTofSigmaYOffset(Float_t v, Int_t s)
{tofSigmaYOffset.AddAt(v,s);}
void setTofQualityCut(Float_t v, Int_t s)
{tofQualityCut.AddAt(v,s);}

Last change: Sat May 22 13:04:41 2010
Last generated: 2010-05-22 13:04

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.