#include "hmdcwiredata.h" |
HMdcWiresArr
class description - source file - inheritance tree (.pdf)
private:
void calcDriftTime(HMdcTrackParam& par, Int_t iflag)
void calcDriftTimeAndErr(HMdcTrackParam& par, Int_t iflag)
void calcDTdPar(Int_t k, Double_t oneDv2StepD)
void calcErrs(HMdcTrackParam& par)
void calcFunctional(HMdcTrackParam& par, Int_t iflag)
void getGeantHitPoint(HMdcWireData* w, HGeantMdc* hit, Double_t& x, Double_t& y, Double_t& z)
void initDTdPar(Int_t k)
void recalcFunctional(HMdcTrackParam& par, Int_t iflag = 0)
void setListCells(HMdcClus* fCl1, HMdcClus* fCl2)
void setListCells(HMdcEvntListCellsAndTimes* store)
void setTukeyWeights(Double_t sigma2)
Double_t setTukeyWeightsAndCalcSigma2(Double_t sigma2)
void setWeightsTo1or0(Double_t maxChi2, Double_t minWeight)
public:
HMdcWiresArr()
HMdcWiresArr(const HMdcWiresArr&)
~HMdcWiresArr()
Double_t calcAGradAnalyt(HMdcTrackParam& par)
void calcAnalyticDerivatives1(HMdcTrackParam& par)
void calcAnalyticDerivatives2(HMdcTrackParam& par)
void calcDerivatives(HMdcTrackParam& par, Int_t iflag)
void calcErrorsAnalyt(HMdcTrackParam& par)
Bool_t calcNGoodWiresAndChi2(HMdcTrackParam& par)
void calcSecondDeriv(HMdcTrackParam& par)
void calcTdcErrorsAndFunct(HMdcTrackParam& par, Int_t iflag = 0)
void calcTimeOffsetsErr(HMdcTrackParam& par)
void calculateErrors(HMdcTrackParam& par)
static TClass* Class()
void fillClusFitAndWireFit(HMdcClusFit* fClusFit)
void fillClusFitSim(HMdcClusFit* fClusFit, HMdcTrackParam& par)
Bool_t fillListHits(HMdcClus* fCl1, HMdcClus* fCl2)
Bool_t fillListHits(HMdcEvntListCellsAndTimes* store, HMdcClus* fCl1, HMdcClus* fCl2)
Bool_t fillListHits(HMdcEvntListCellsAndTimes* store)
void fillLookupTableForDer(HMdcTrackParam& par)
Bool_t filterOfHits(HMdcTrackParam& par, Int_t iflag = 0)
void filterOfHitsConstSig(HMdcTrackParam& par, Double_t sig)
Bool_t filterOfHitsV2(HMdcTrackParam& par, Int_t iflag = 0)
Double_t functForDeriv(HMdcTrackParam& par, Int_t iflag = 0)
Double_t getAGrad()
HMdcClus* getClust1()
HMdcClus* getClust2()
Int_t getFirstTimeInd() const
HMdcWireData* getFirstWire()
Double_t* getGrad()
TMatrixD& getGrad2Matr()
HMdcList24GroupCells& getInputListCells()
Int_t getLastTimeInd() const
HMdcWireData* getLastWire()
TMatrixD& getMatrH()
Int_t getNCellsInInput(Int_t mod = -1)
Int_t getNCellsInOutput(Int_t mod = -1)
Int_t getNDriftTimes() const
Int_t getNModulesInFit()
Int_t getNumOfGoodWires()
Int_t getNWiresInFit()
HMdcList24GroupCells& getOutputListCells()
Int_t getSector() const
Int_t getSegment() const
Double_t getSumOfWeights()
HMdcWireData* getWireData(Int_t n)
HMdcWireData* getWiresArray()
Float_t getXClst()
Float_t getYClst()
Float_t getZClst()
virtual TClass* IsA() const
HMdcWiresArr& operator=(const HMdcWiresArr&)
HMdcWireData& operator[](Int_t n)
void printTimes(Int_t iflag, HMdcTrackParam& par)
void setHitStatM1toP1()
void setInitWeghts(HMdcTrackParam& par)
void setNumDriftTimes(Int_t nDrTm)
void setPrintFlag(Bool_t flag = kTRUE)
Bool_t setRegionOfWires(Int_t mod)
void setSizeGrad2Matr(HMdcTrackParam& par)
void setTrackFitInOut(HMdcTrackFitInOut* pfio)
void setUnitWeights()
void setWeightsTo1or0(HMdcTrackParam& par, Int_t iflag = 0)
void setXYZClust(Float_t x, Float_t y, Float_t z)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
void subtractWireOffset(HMdcTrackParam& par)
void switchOff(Int_t sec, Int_t mod, Int_t lay = -1, Int_t cell = -1)
Double_t testFitResult()
Bool_t testTukeyWeights(HMdcTrackParam& par)
Int_t unsetHits()
Double_t valueOfFunctAndErr(HMdcTrackParam& par, Int_t iflag = 0)
Double_t valueOfFunctional(HMdcTrackParam& par, Int_t iflag = 0)
protected:
HMdcWireData* wires Array of HMdcWireData objects
Int_t arraySize Size of "wires" array
Int_t nDriftTimes Number of drift times in track
HMdcClus* fClst1
HMdcClus* fClst2 is used for sector track (magnet off)
Int_t segment segment (0,1 or 3)
Int_t sector sector
Float_t xClst cluster position on
Float_t yClst the project plane
Float_t zClst
HMdcTrackFitInOut* fitInOut
HMdcList24GroupCells lInputCells sells list for fitting (input)
HMdcList24GroupCells lOutputCells cells list passed fit
Int_t nMdcTimes[4] Num. of hits in MDC's
Int_t firstTime
Int_t lastTime
HMdcWireData* firstWire
HMdcWireData* lastWire
Int_t nModsInFit number of modules in this fit
Int_t numOfGoodWires number of wires passed fit
Double_t sigma2 last sigma^2 of chi2 distr. which was
HLocation locCal1 location of HMdcCal1 object
HMdcWireData* firstWireInLay[24] first wire in layer
HMdcWireData* lastWireInLay[24] last wire in layer
Bool_t fprint debuging print flag
Double_t grad[4] Gradient of downhill direction
Double_t agrad
TMatrixD grad2
TMatrixD matrH
Int_t trackNum[200] track numbers
Int_t numWiresClus[200] num. of wires in cluster for each tr.
Int_t numWiresFit[200] num. of wires passed fit for each tr.
HMdcWireData
Class keep one wire data for track fitter.
HMdcWireArr
Array of HMdcWireData objects.
HMdcWiresArr(void)
~HMdcWiresArr(void)
void setNumDriftTimes(Int_t nDrTm)
Bool_t fillListHits(HMdcClus* fCl1, HMdcClus* fCl2)
Filling list wire for fitting from cluster(s)
Bool_t fillListHits(HMdcEvntListCellsAndTimes* store,
HMdcClus* fCl1, HMdcClus* fCl2)
Filling list wire for fitting from cluster(s),
drift times from HMdcEvntListCellsAndTimes
void setListCells(HMdcClus* fCl1, HMdcClus* fCl2)
Bool_t fillListHits(HMdcEvntListCellsAndTimes* store)
Filling list wire for fitting from cluster(s),
drift times from HMdcEvntListCellsAndTimes
void setListCells(HMdcEvntListCellsAndTimes* store)
void fillLookupTableForDer(HMdcTrackParam& par)
Double_t testFitResult(void)
Removing cells which has small weight or
if min.distance outside of this cell for case when more than on wires
in this layer passed fit and so on
Can be tuned and checked ???).
void subtractWireOffset(HMdcTrackParam& par)
Must be called after setCell !
void setHitStatM1toP1(void)
if(hitStatus==-1) hitStatus=1
void switchOff(Int_t sec, Int_t mod, Int_t lay, Int_t cell)
Int_t unsetHits(void)
removing cells passed fit
Int_t getNCellsInInput(Int_t mod)
Return number of cells in mdc module =mod in input list
if mod<0 return number of cells in all mdc's of segment
Int_t getNCellsInOutput(Int_t mod)
Return valid value after calling testFitResult() only !
Return number of cells in mdc module =mod passed fit
if mod<0 return number of cells in all mdc's of segment
Bool_t calcNGoodWiresAndChi2(HMdcTrackParam& par)
void fillClusFitAndWireFit(HMdcClusFit* fClusFit)
void fillClusFitSim(HMdcClusFit* fClusFit,
HMdcTrackParam& par)
void getGeantHitPoint(HMdcWireData* w, HGeantMdc* hit,
Double_t& x,Double_t& y,Double_t& z)
Transformation of geant mdc hit in coor.sys. of sector.
x,y,z - [mm]
void calcTdcErrorsAndFunct(HMdcTrackParam& par, Int_t iflag)
alphaDrDist and timeOffsets must be calculated befor this function!
Double_t valueOfFunctional(HMdcTrackParam& par, Int_t iflag)
iflag:
0 - setting minimal val. of time offset and no print (default value)
1 - setting minimal val. of time offset and print if fprint=kTRUE
2 - no setting minimal val. of time offset, calculation of inCell[time]
and print if fprint=kTRUE
Double_t valueOfFunctAndErr(HMdcTrackParam& par, Int_t iflag)
iflag:
0 - setting minimal val. of time offset and no print (default value)
1 - setting minimal val. of time offset and print if fprint=kTRUE
2 - no setting minimal val. of time offset, calculation of inCell[time]
and print if fprint=kTRUE
Bool_t setRegionOfWires(Int_t mod)
void setWeightsTo1or0(Double_t maxChi2, Double_t minWeight)
void initDTdPar(Int_t k)
Int_t getNWiresInFit(void)
void calcDTdPar(Int_t k, Double_t oneDv2StepD)
void calcDriftTime(HMdcTrackParam& par, Int_t iflag)
void calcDriftTimeAndErr(HMdcTrackParam& par, Int_t iflag)
void calcFunctional(HMdcTrackParam& par, Int_t iflag)
void recalcFunctional(HMdcTrackParam& par, Int_t iflag)
Recalculation of finctional without calculation of ditances
(for the same parameters as before)
iflag:
0 - setting minimal val. of time offset and no print (default value)
1 - setting minimal val. of time offset and print if fprint=kTRUE
2 - no setting minimal val. of time offset and print if fprint=kTRUE
Double_t functForDeriv(HMdcTrackParam& par, Int_t iflag)
Calculation of finctional for derivativatives.
functional for par must be calc. before this !!!
iflag:
!=2 - setting minimal val. of time offset
=2 - no setting minimal val. of time offset
void calcErrorsAnalyt(HMdcTrackParam& par)
calculation of fit parameters errors analyticaly
void calculateErrors(HMdcTrackParam& par)
calculation of fit parameters errors numer.
void calcErrs(HMdcTrackParam& par)
void calcTimeOffsetsErr(HMdcTrackParam& par)
Calculation of time offset error
void printTimes(Int_t iflag, HMdcTrackParam& par)
Double_t getSumOfWeights(void)
Double_t setTukeyWeightsAndCalcSigma2(Double_t sigma2)
void setTukeyWeights(Double_t sigma2)
Bool_t filterOfHits(HMdcTrackParam& par, Int_t iflag)
Filtering of bad hits using Tukey weights
return kTRUE new weights was calculated
seychas eto ne tak!!!
? Kak chasto nado fil'trovat' ?????
Bool_t testTukeyWeights(HMdcTrackParam& par)
Bool_t filterOfHitsV2(HMdcTrackParam& par, Int_t iflag)
Filtering of bad hits using Tukey weights
return kTRUE new weights was calculated
seychas eto ne tak!!!
? Kak chasto nado fil'trovat' ?????
void filterOfHitsConstSig(HMdcTrackParam& par, Double_t sig)
Filtering of bad hits using Tukey weights
return kTRUE new weights was calculated
void setWeightsTo1or0(HMdcTrackParam& par, Int_t iflag)
void setUnitWeights(void)
Setting all weights to 1.
void setSizeGrad2Matr(HMdcTrackParam& par)
Seting of sizes of gradient matrix.
void calcDerivatives(HMdcTrackParam& par,Int_t iflag)
Numerical calculation of the fit parameters derivatives
iflag<2 - calculate the diagonal elements of the grad2 matrix only
else - calculate the full grad2 matrix
void calcAnalyticDerivatives1(HMdcTrackParam& par)
Analytical calculation of the fit parameters derivatives
for the first min.method:
calculate the first der. and the diagonal elements of the grad2 matrix
Double_t calcAGradAnalyt(HMdcTrackParam& par)
void calcAnalyticDerivatives2(HMdcTrackParam& par)
Analytical calculation of the fit parameters derivatives for the second min.method
calculate the first der. and all elements of the grad2 matrix
void calcSecondDeriv(HMdcTrackParam& par)
For errors calculation
void setInitWeghts(HMdcTrackParam& par)
Inline Functions
void setPrintFlag(Bool_t flag = kTRUE)
void setXYZClust(Float_t x, Float_t y, Float_t z)
HMdcWireData* getWiresArray()
HMdcWireData* getWireData(Int_t n)
HMdcWireData& operator[](Int_t n)
Int_t getSector() const
Int_t getSegment() const
Int_t getNDriftTimes() const
Int_t getFirstTimeInd() const
Int_t getLastTimeInd() const
Int_t getNumOfGoodWires()
Int_t getNModulesInFit()
HMdcWireData* getFirstWire()
HMdcWireData* getLastWire()
HMdcClus* getClust1()
HMdcClus* getClust2()
HMdcList24GroupCells& getOutputListCells()
HMdcList24GroupCells& getInputListCells()
void setTrackFitInOut(HMdcTrackFitInOut* pfio)
TMatrixD& getGrad2Matr()
TMatrixD& getMatrH()
Double_t* getGrad()
Double_t getAGrad()
Float_t getXClst()
Float_t getYClst()
Float_t getZClst()
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
HMdcWiresArr HMdcWiresArr(const HMdcWiresArr&)
HMdcWiresArr& operator=(const HMdcWiresArr&)
Last update: Fri Jan 26 12:19:14 2007
ROOT page - Class index - Class Hierarchy - 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.