ROOT logo
HYDRA - THE HADES ANALYSIS PACKAGE » (UNKNOWN) » HMdcMille

class HMdcMille: public HMdc12Fit

_HADES_CLASS_DESCRIPTION


 HMdcMille

 Interface class for Millipede alignment.


Function Members (Methods)

public:
HMdcMille()
HMdcMille(const Char_t* milleOutFName, const Char_t* geomPFName = 0, Int_t bmTimeID = 0, const Char_t* sumOfShFName = 0)
virtual~HMdcMille()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidHReconstructor::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
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Bool_tHReconstructor::connectTask(HTask* task, Int_t n = 0)
virtual voidTNamed::Copy(TObject& named) const
voidcreatPedeTaskFile(const char* fileName = "pedeTask.txt")
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
voiddoFiltering()
voiddoFilteringOnly()
voiddoLayerPart2Align(Bool_t fl = kTRUE)
voiddoShiftsInLabSys()
voiddoShiftsInModSys()
voiddoShiftsInSecSys()
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 Int_texecute()
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)
voidHMdc12Fit::fillHitSegCat(Bool_t fl)
virtual Bool_tfinalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidfixFullLay(Int_t s, Int_t m, Int_t l)
voidfixFullMod(Int_t s, Int_t m)
voidfixLayPar(Int_t s, Int_t m, Int_t l, Int_t p)
voidfixModPar(Int_t s, Int_t m, Int_t p)
voidfixPar(Int_t s, Int_t m, Int_t l, Int_t p)
virtual HTask*HReconstructor::getComposite()
virtual voidHReconstructor::getConnections()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
HMdcTrackFitInOut&HMdc12Fit::getFitInOutCont()
virtual const char*TObject::GetIconName() const
Int_tgetIterationNumber()
TStringgetIterName()
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
virtual HTask*HTask::getOwner()
TObjArrayHReconstructor::getTable()
virtual HTask*HReconstructor::getTask(const Char_t* name)
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 Bool_tinit()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tHReconstructor::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual voidHReconstructor::isTimed(Bool_t flag = kTRUE)
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual HTask*HReconstructor::next(Int_t& errCode)
voidnoFiltering()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
HTask&HTask::operator=(const HTask&)
intpackLabel(Int_t s, Int_t m, Int_t l, Int_t parn)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidHMdc12Fit::printStatus()
voidHMdc12Fit::printStatusM()
virtual voidHReconstructor::printTimer()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Bool_treinit()
voidTObject::ResetBit(UInt_t f)
virtual voidHReconstructor::resetTimer()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidHReconstructor::setActive(Bool_t state)MENU
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidsetClusterMultCut(UInt_t cut)
virtual Bool_tHTask::setConnections()
voidsetCopyGeomFile(Bool_t fl)
voidsetCopyHisFile(Bool_t fl)
voidsetCopyResFile(Bool_t fl)
voidsetCopySumShFile(Bool_t fl)
voidHMdc12Fit::setCosmicData(Bool_t fHSCat = kFALSE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidHMdc12Fit::setFakeSupprStep1Par(UInt_t seg, Int_t n1, Int_t n2, Int_t n3, Int_t n4)
voidHMdc12Fit::setFakeSupprStep2Par(UInt_t seg, Float_t* cutReal, Float_t* cutFake)
voidsetFixFitTOffsetFlag(Bool_t fl)
voidHTask::setManual()
voidsetMaxNumWiresCut(Int_t* wc)
voidsetMaxNumWiresCut(Int_t cs1, Int_t cs2, Int_t cs3, Int_t cs4, Int_t cs5, Int_t cs6)
voidsetMdcShiftParOnly(Bool_t fl = kTRUE)
voidsetMille(Mille* m)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidsetNoHistsFlag()
voidHMdc12Fit::setNotFillByClus()
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidHTask::setOwner(HTask* atask)
voidsetParConstrainFile(const char* file)
voidsetPedeInFileName(const char* fname)
voidHMdc12Fit::setSignalSpeed(Float_t sp)
voidsetThetaCut(Double_t th)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidsetWiresMinNum(Int_t mw)
voidsetyCopyLogFile(Bool_t fl)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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
static voidHMdc12Fit::testGeantInf(HMdcSegSim* segFake, HMdcSegSim* segGood)
static Bool_tunpackLabel(Int_t label, Int_t& btId, Int_t& sys, Int_t& sec, Int_t& mod, Int_t& lay, Int_t& parn)
voiduseBandCholeskyMethod(Int_t nit = 8, Float_t acc = 0.01, Int_t bwidth = 6)
voiduseCellThicknessParam()
voiduseCholeskyMethod(Int_t nit = 5, Float_t acc = 0.001, Int_t bwidth = 6)
virtual voidTObject::UseCurrentStyle()
voiduseDiagonalizationMethod(Int_t nit = 5, Float_t acc = 0.01)
voidHMdc12Fit::useFittedISeg(Bool_t fl = kTRUE)
voiduseFullGMRESMethod(Int_t nit = 5, Float_t acc = 0.01)
voiduseInversionMethod(Int_t nit = 3, Float_t acc = 0.001)
voiduseSparseGMRESMethod(Int_t nit = 5, Float_t acc = 0.01)
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:
voidHMdc12Fit::addToNFittedCounter()
voidHMdc12Fit::calcMinFunctional()
Double_tHMdc12Fit::calcVertexDist(Double_t x0, Double_t y0, Double_t z0, Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2)
Float_tHMdc12Fit::calcWeight(HMdcSeg* pSeg, Float_t* cut) const
voidHMdc12Fit::copySignId(HMdcHit* hit, Int_t mod, Int_t lay, HMdcSeg* seg)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidHMdc12Fit::fillClusInf(HMdcSeg* fSeg, Bool_t secondSec = kFALSE)
voidHMdc12Fit::fillClusInf(HMdcHit* fHit, Int_t iMod, Char_t fitSt, Int_t indClusFit = -1)
Int_tHMdc12Fit::fillHitByClus(Int_t mod)
Int_tHMdc12Fit::fillHitByFit(Int_t mod)
Bool_tHMdc12Fit::fillHitSegByClus(Int_t iMod = -99)
Bool_tHMdc12Fit::fillHitSegByFit(Int_t iMod = -99)
Bool_tHMdc12Fit::fillSegBy2Hits(Int_t ind1, Int_t ind2)
HMdcTrkCand*HMdc12Fit::fillTrkCandISeg()
HMdcTrkCand*HMdc12Fit::fillTrkCandOSeg(HMdcTrkCand* fTrkCand)
Int_tHMdc12Fit::findSeg2Clusters(HMdcTrackFitter* fitter)
Bool_tHMdc12Fit::fit2Sectors(HMdcClus* fClst1, HMdcClus* fClst2, HMdcClus* fClst3, HMdcClus* fClst4)
voidHMdc12Fit::fitAlgorithm1()
voidHMdc12Fit::fitAlgorithm2()
voidHMdc12Fit::fitAlgorithm3()
voidHMdc12Fit::fitAlgorithm3b()
voidHMdc12Fit::fitAlgorithm4()
Bool_tHMdc12Fit::fitChambClus(HMdcClus* fClst, Int_t arrInd = 0)
Bool_tHMdc12Fit::fitCombClusIndFit(HMdcClus* fClst, Int_t arrInd = 0)
Bool_tHMdc12Fit::fitMixedClus(HMdcClus* fClst, Int_t arrInd = 0)
Bool_tHMdc12Fit::fitMod(HMdcClus* fClst, Int_t arrInd = 0)
Bool_tHMdc12Fit::fitNSectors(HMdcClus* cl1, HMdcClus* cl2, HMdcClus* cl3, HMdcClus* cl4, HMdcClus* cl5, HMdcClus* cl6, HMdcClus* cl7, HMdcClus* cl8)
Bool_tHMdc12Fit::fitSec(HMdcClus* fClst1, HMdcClus* fClst2)
Bool_tHMdc12Fit::fitSeg(HMdcClus* fClst, Int_t arrInd = 0)
HMdcHit*HMdc12Fit::getHitSlot(Int_t sec, Int_t mod, Int_t& index)
Int_tHMdc12Fit::getInnerClusInd(HMdcSeg* outerSegment, HMdcClus*& outerClus) const
HMdcSeg*HMdc12Fit::getInnerSegment(Int_t clIndPar) const
HMdcSeg*HMdc12Fit::getSegSlot(Int_t sec, Int_t seg)
voidTObject::MakeZombie()
Int_tHMdc12Fit::markFakes(Int_t cutNMarked)
Int_tHMdc12Fit::markReals(Int_t cutNMarked)
voidHMdc12Fit::setFake(HMdcSeg* segFake)
voidHMdc12Fit::setFakeFlageAndIndexis(HMdcSeg* segOFake, Int_t indFakeSeg, HMdcSeg* segOGood, Int_t indGoodSeg)
voidHMdc12Fit::setFakeInd(Int_t index)
voidHMdc12Fit::setGroup(HMdcList24GroupCells* lCl, HMdcSeg* fSeg, Int_t seg)
voidHMdc12Fit::setGroup(HMdcList24GroupCells* lCl, HMdcHit* fHit, Int_t mod)
voidHMdc12Fit::setParContainers()
voidHMdc12Fit::sortGeantInf()
voidHMdc12Fit::suppressFakes(Int_t sec, Int_t seg)
Bool_tHMdc12Fit::testRestOfWires(Int_t sec)
private:
Bool_taddShifts(TString& buffer)
Double_tcalcDDriftTime(Int_t p)
Double_tcalcDerTofCorr(Int_t p, Double_t* dDrTm = 0)
Double_tcalcDriftTime(const HGeomTransform& laySys, Int_t& distSign)
Double_tcalcGlobDer(Int_t parNum)
voidcalcShiftInLabSys(const HGeomTransform* secSys, const HGeomTransform* laySysMod, const HGeomTransform& shift, HGeomTransform& laySh)
voidcalcShiftInModSys(const HGeomTransform* mdcSys, const HGeomTransform* laySysMod, const HGeomTransform& shift, HGeomTransform& laySh)
voidcalcShiftInSecSys(const HGeomTransform* laySec, const HGeomTransform& shift, HGeomTransform& laySh)
voidcopyFile(const char* op, TString& file, const char* ext = 0)
voidcreateHists(Int_t sec)
voidcreatPedeInParamFile()
voidcreatSumOfShiftsFile()
Bool_teventFilter()
voidfitAlgForMilleCosmic()
voidfitAlgorithmForMille()
Int_tgetGlobalDer()
Int_tgetGlobalDerWTof()
Bool_tloadGeometryPar()
Bool_tmakeShifts()
voidopenNewBinaryFile()
voidprintErrorAndExit(const char* func, const char* form, const char* str = 0)
voidreadPedeResFile(const char* fileName)
voidreadSumOfShiftsFile()
voidsendToMille()
voidsetDef()
voidsetILay(Int_t l)
voidsetIMod(Int_t s, Int_t m)
voidsetIModILay()
voidsetIModILay(Int_t s, Int_t m, Int_t l)
voidsetShiftTransformation()
voidsetTrShiftInLabSys()
voidsetTrShiftInModSys()
voidsetTrShiftInSecSys()
Bool_twriteParAsciiFile()
voidwritePedeTaskFile()

Data Members

protected:
Int_tHMdc12Fit::clusFitAlgclusters fitting algorithm
Int_tHMdc12Fit::currSegCurrent segment
Float_tHMdc12Fit::cutForFake[2][13]Cut for "fake" segments
Float_tHMdc12Fit::cutForReal[2][13]Cut for "real" segments
HMdc34ClFinder*HMdc12Fit::f34ClFinder
Bool_tHReconstructor::fActiveActive flag
HCategory*HMdc12Fit::fClusCatpointer to MdcClus data category
HCategory*HMdc12Fit::fClusFitCatpointer to HMdcClusFit data category
HCategory*HMdc12Fit::fClusInfCatpointer to HMdcSeg data category
TList*HReconstructor::fHistogramsList of histograms generated by this reconstructor.
HCategory*HMdc12Fit::fHitCatpointer to HMdcHit data category
Bool_tHTask::fIsTimedtimer flag
TStringTNamed::fNameobject identifier
TObjArrayHReconstructor::fOutputs
HCategory*HMdc12Fit::fSegCatpointer to Segment data category
TStopwatchHReconstructor::fTimerTask timer
TStringTNamed::fTitleobject title
HCategory*HMdc12Fit::fTrkCandCatpointer to HMdcTrkCand data category
Bool_tHMdc12Fit::fillHitSeg=kFALSE - don't fill HMdcHit and HMdcSeg category
Bool_tHMdc12Fit::findOffVertTrk
HMdcTrackFitInOutHMdc12Fit::fitparobj. keep pointer to param. and categ.
HMdcTrackFitter*HMdc12Fit::fittercarrent fitter.
HMdcFittersArrayHMdc12Fit::fittersArr[2]arrays of HMdcTrackFitterH or A fitters
HMdcHitSegFillerHMdc12Fit::hitSegFiller
Int_tHMdc12Fit::indFirst= indFirstSeg[currSec]
Int_tHMdc12Fit::indFirstSeg[6][sector] index of the first segment in fSegCat
Int_tHMdc12Fit::indFirstTrCand= indFstTrCand[currSec]
Int_tHMdc12Fit::indFstTrCand[6][sector] index of the first segment in fSegCat
Int_tHMdc12Fit::indLast= indLastSeg[currSec]
Int_tHMdc12Fit::indLastSeg[6][sector] index of the last segment in fSegCat
Int_tHMdc12Fit::indLastTrCand= indLstTrCand[currSec]
Int_tHMdc12Fit::indLstTrCand[6][sector] index of the last segment in fSegCat
Bool_tHTask::isConnected
Bool_tHMdc12Fit::isCosmicData=kTRUE for cosmic data
Bool_tHMdc12Fit::isFittedFit result
Bool_tHMdc12Fit::isGeantkTRUE for GEANT data
Bool_tHTask::isInitialised
HIterator*HMdc12Fit::iterClusiterator for catMdcClus
HLocationHMdc12Fit::locClInflocation for new "HMdcWireFit" object
HLocationHMdc12Fit::locCluslocation for HMdcClus object
HLocationHMdc12Fit::locHitlocation for new "hit" object
HLocationHMdc12Fit::locSeglocation for new "segment" object
HLocationHMdc12Fit::locTrkCandlocation for new HMdcTrkCand object
Bool_tHTask::manual
Int_tHMdc12Fit::modForSeg[2]num. module for filling HMdcSeg
Int_tHMdc12Fit::nDCellsCut[2]
Int_tHMdc12Fit::nDCellsMinCut[2]
Int_tHMdc12Fit::nFitedTimesNum. of hits with hitStatus==1
Int_tHMdc12Fit::nLayerOrientCut[2]
Int_tHMdc12Fit::nLayersCutOVTMinimal number of fired layers
Int_tHMdc12Fit::nSharedLayersCut[2]
Int_tHMdc12Fit::nWiresCutOVTMaximal number of wires per mdc
Bool_tHMdc12Fit::notFillByCluskTRUE - don't fill HMdcHit&HMdcSeg by cluster
HTask*HTask::owner
HMdcSecListCells*HMdc12Fit::pSecListCells
HMdcTrackInfSim*HMdc12Fit::pTrackInfSim
Bool_tHMdc12Fit::prntStkTRUE - status printed already
Bool_tHMdc12Fit::useFitted=kTRUE - use fitted inner seg. only for finding outer seg.
Bool_tHMdc12Fit::useFittedTrPar=kTRUE - use fitted track param. of i.seg. for finding outer seg.
private:
Float_taccuracy
Int_tbandwidthfor Cholesky method only
Int_tbeamTimeIdbeam time ident. (<=9)
Bool_tcellThicknFree=kTRUE - cell thickness is free param.
Bool_tcrPedeTaskFile
Bool_tcreatePedeInFilekTRUE-create par.file for Pede
Double_tderLThNorm[6][lay] for cell thickness
Double_tderNorm[40][glob.par.] = 1./(2.*parSteps)
Bool_tdoCopyGeomFile
Bool_tdoCopyHisFile
Bool_tdoCopyLogFile
Bool_tdoCopyResFile
Bool_tdoCopySumShFile
Bool_tdoHists
Bool_tdoLayP2Align=kTRUE - determine MdcLayerCorrPar
UChar_tfilteringFlag0 - no filtering, 1 - filtering on,
HMdcTrackParam*finalParamTrack parameters
Bool_tfixFitTOffsetFor deriv.assume fixed TOffset
TStringgeomParFileNameFile name with geom.parameters
floatglobDer[40]Global(alignment) par.deriv.
intglobLabel[40]Global(alignment) par.labels
Int_thistInd[6][sec] index of first sec.hist.
Int_tiLay= sec*24+mod*6+layer
Int_tiMod= sec*4+mod
Int_tiSec
Bool_tisGeomChanged= kFILSE if no param.was chan.
Bool_tisGeomFileExist
Bool_tisMdcInAlign[6][4]
Int_titerationIteration number
Bool_tlFixFlag[6][4][6][9][sec][mod][lay][par]
Bool_tlShFlag[6][4][6][9][sec][mod][lay][par]
HGeomTransformlayNegSh[144][40][layerIndex][param.+20*(LayPart-1)]
HGeomTransform*layNegShCurr=layNegSh[iLay]
HGeomTransformlayPosSh[144][40][layerIndex][param.+20*(LayPart-1)]
HGeomTransform*layPosShCurr=layPosSh[iLay]
Int_tlayer...
Int_tlayerPart=0 or 1 (first or second part of layer)
floatlocDer[4]Local(track) par.derivatives
Bool_tmFixFlag[6][4][9][sec][mod][par]
Bool_tmShFlag[6][4][9][sec][mod][par]
Int_tmdcMods[6][4]MDC setup
TStringmethod
Mille*mille
TStringmilleFileNamemillepede binary file name
UInt_tmilleFileSizesize of current binary file
Int_tmodule...
TStringmthDescr
Int_tnBinaryFilesnumber of files
UInt_tnClustersCutNumber of clusters in sec. must be <= nClustersCut
Int_tnHistsnumber of histograms
UChar_tnLayerParts[144]number of parts in layer
UInt_tnLayersTotLayers number sended to Mille
Int_tnMods[6]num.of mod. in sector
Int_tnParMaxmax. number of parameters (=9)
UInt_tnTracksTracks number sended to Mille
Int_tnWiresCut[6]Max.number of fired wires in each sector.
Int_tnWiresMinmin. num. of wires per track
Int_tnWiresMinTrCut for current track
UInt_tnWiresTotWires number sended to Mille
HGeomTransformnegLThSh[6][lay] for cell thickness
HGeomTransformnegShifts[40][glob.param.]
Int_tnumOfIter
HGeomVectorp1Track line in
HGeomVectorp2sector coor. system
HMdcGetContainers*pGetCont
HMdcDetector*pMdcDet
HMdcSizesCellsLayer*pSCLayer[144][sec*24+mod*6+layer]
HMdcSizesCellsMod*pSCMod[24][sec*4+mod]
TStringparConstrainFile
Double_tparSteps[40][glob.param.] - step for der
TStringpedeInParFNameName of parameters file
TStringpedeResFName
TStringpedeTaskFileNamepede task file name
HGeomTransformposLThSh[6][lay] for cell thickness
HGeomTransformposShifts[40][glob.param.]
Bool_tprintDebugFlag
Int_tsectorAddress of wireData object
Int_tshiftSysLay[6][4][6][s][m][l]
Int_tshiftSysMdc[6][4][s][m]
Int_tshiftType=0 shift in sec.sys;
Double_tshiftsLay[6][4][6][9][s][m][l][par]
Double_tshiftsMdc[6][4][9][s][m][par]
TStringshitsInfo[9]Descriptions of shifts
Double_tsigmaLay[6][4][6][9][s][m][l][par]
Double_tsigmaMdc[6][4][9][s][m][par]
TStringstepIter= "Step%i",Iteration
TStringsumOfShiftsFNameFile name with shifts sum ???
Double_tthetaCutSelect clus.theta>thetaCut
Double_ttofDerCorr[24][9][sec*4+mod][par]
Bool_tuseMdcShParOnly
Bool_tuseSector[6]
HMdcWireData*wireDataPointer to current wire date

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMdcMille()
HMdcMille(const Char_t* milleOutFName, const Char_t* geomPFName = 0, Int_t bmTimeID = 0, const Char_t* sumOfShFName = 0)
void setDef(void)
~HMdcMille()
Bool_t init(void)
Bool_t reinit(void)
void createHists(Int_t sec)
void setShiftTransformation(void)
void setTrShiftInModSys(void)
 mdcSys - mdc<->sec. transfomation
 laySec - rotated_layer<->mdc transfomation
void setTrShiftInSecSys(void)
 laySec - rotated_layer<->sec transfomation
void setTrShiftInLabSys(void)
 secSys - sec.<->lab. transfomation
 laySec - rotated_layer<->mdc transfomation
void calcShiftInModSys(const HGeomTransform* mdcSys, const HGeomTransform* laySysMod, const HGeomTransform& shift, HGeomTransform& laySh)
 mdcSys    - mdc<->sec. transfomation
 laySysMod - rotated_layer<->mdc transfomation
 shift     - transfomation for shift of one global parameter
 laySh     - new (shifted) rotated_layer<->sec transfomation
void calcShiftInSecSys(const HGeomTransform* laySec, const HGeomTransform& shift, HGeomTransform& laySh)
 laySysSec - rotated_layer<->sec transfomation
 shift     - transfomation for shift of one global parameter
 laySh     - new (shifted) rotated_layer<->sec transfomation
void calcShiftInLabSys(const HGeomTransform* secSys, const HGeomTransform* laySysMod, const HGeomTransform& shift, HGeomTransform& laySh)
 secSys    - lab.<->sec. transfomation
 laySysSec - rotated_layer<->sec. transfomation
 shift     - transfomation for shift of one global parameter
 laySh     - new (shifted) rotated_layer<->sec transfomation
Bool_t finalize(void)
Int_t execute(void)
Bool_t eventFilter(void)
 For beam data only!
void fitAlgorithmForMille(void)
 Sector fit
 Magnet off + combined clusters in sector
void fitAlgForMilleCosmic(void)
 Two sector fit
 Magnet off + combined clusters in sector
void sendToMille(void)
void openNewBinaryFile(void)
 New binary file:
void setIModILay(void)
Int_t getGlobalDer(void)
Int_t getGlobalDerWTof(void)
Double_t calcDerTofCorr(Int_t p, Double_t* dDrTm = 0)
int packLabel(Int_t s, Int_t m, Int_t l, Int_t parn)
 if lay<0 - it is shift of mdc, otherwise shift of layer
Bool_t unpackLabel(Int_t label, Int_t& btId, Int_t& sys, Int_t& sec, Int_t& mod, Int_t& lay, Int_t& parn)
 shSys = 0 shift in respect sector system
 shSys = 1 shift in respect mdc system
 if lay==-1 - it is shift of mdc, otherwise shift of layer
 parn = 0 - shift along X
 parn = 1 - shift along Y
 parn = 2 - shift along Z
 parn = 3 - rotation around X
 parn = 4 - rotation around Y
 parn = 5 - rotation around Z
 parn = 6 - cell thickness
 parn = 7 - shift along Y for second layer part
 parn = 8 - rotation around Z for second layer part
Double_t calcGlobDer(Int_t parNum)
Double_t calcDDriftTime(Int_t p)
Double_t calcDriftTime(const HGeomTransform& laySys, Int_t& distSign)
void setPedeInFileName(const char* fname)
void creatPedeInParamFile(void)
Bool_t loadGeometryPar(void)
void readPedeResFile(const char* fileName)
Bool_t makeShifts(void)
Bool_t writeParAsciiFile(void)
void fixFullMod(Int_t s, Int_t m)
void fixModPar(Int_t s, Int_t m, Int_t p)
void fixFullLay(Int_t s, Int_t m, Int_t l)
void fixLayPar(Int_t s, Int_t m, Int_t l, Int_t p)
void fixPar(Int_t s, Int_t m, Int_t l, Int_t p)
void readSumOfShiftsFile(void)
 Open file:
Bool_t addShifts(TString& buffer)
void printErrorAndExit(const char* func, const char* form, const char* str = 0)
void creatSumOfShiftsFile(void)
void copyFile(const char* op, TString& file, const char* ext = 0)
void creatPedeTaskFile(const char* fileName = "pedeTask.txt")
void useInversionMethod(Int_t nit = 3, Float_t acc = 0.001)
void useBandCholeskyMethod(Int_t nit = 8, Float_t acc = 0.01, Int_t bwidth = 6)
void useCholeskyMethod(Int_t nit = 5, Float_t acc = 0.001, Int_t bwidth = 6)
void useSparseGMRESMethod(Int_t nit = 5, Float_t acc = 0.01)
void useFullGMRESMethod(Int_t nit = 5, Float_t acc = 0.01)
void useDiagonalizationMethod(Int_t nit = 5, Float_t acc = 0.01)
void setParConstrainFile(const char* file)
void writePedeTaskFile(void)
void setMaxNumWiresCut(Int_t* wc)
void setMaxNumWiresCut(Int_t cs1, Int_t cs2, Int_t cs3, Int_t cs4, Int_t cs5, Int_t cs6)
void setMdcShiftParOnly(Bool_t fl = kTRUE)
void setWiresMinNum(Int_t mw)
{nWiresMin = mw;}
void doShiftsInSecSys(void)
{shiftType = 0;}
void doShiftsInModSys(void)
{shiftType = 1;}
void doShiftsInLabSys(void)
{shiftType = 2;}
void setFixFitTOffsetFlag(Bool_t fl)
void setMille(Mille* m)
{mille = m;}
void setCopyGeomFile(Bool_t fl)
void setCopySumShFile(Bool_t fl)
void setCopyResFile(Bool_t fl)
void setyCopyLogFile(Bool_t fl)
void setCopyHisFile(Bool_t fl)
void setThetaCut(Double_t th)
{thetaCut = th;}
Int_t getIterationNumber(void)
{return iteration;}
TString getIterName(void)
{return stepIter;}
void doLayerPart2Align(Bool_t fl = kTRUE)
{doLayP2Align = fl;}
void useCellThicknessParam(void)
void setNoHistsFlag(void)
void setClusterMultCut(UInt_t cut)
{nClustersCut = cut;}
void noFiltering(void)
void doFiltering(void)
void doFilteringOnly(void)
void setIMod(Int_t s, Int_t m)
{iMod = s*4 + m; iSec = s;}
void setILay(Int_t l)
{iLay = iMod*6 + l;}
void setIModILay(Int_t s, Int_t m, Int_t l)
{setIMod(s,m); setILay(l);}