1#ifndef ROOT_EdbAlignmentV
2#define ROOT_EdbAlignmentV
54 void DefineGuessCell(
float xmin1,
float xmax1,
float ymin1,
float ymax1,
55 float xmin2,
float xmax2,
float ymin2,
float ymax2,
int np1,
int np2,
float binOK);
59 void FillCell(
int side, TObjArray &pat);
61 void FillGuessCell(TObjArray &p1, TObjArray &p2,
float binOK=1.,
float offsetMax=2000.);
65 Int_t
Ncoins(
float dvlim[4],
EdbH2 *hdxy=0,
EdbH2 *hdtxty=0, TObjArray *sel1=0, TObjArray *sel2=0 );
82 Float_t
CalcMeanDZ(
float tmin=0.1,
float tmax=2.);
87 Int_t
FindDiff(TObjArray &arr1, TObjArray &arr2,
float dvlim[4],
float dvfound[4] );
88 Int_t
FindCorrDiff(
float dvsame[4],
int side=0,
int nlim=10);
90 float FineCorrZ(TObjArray &sel1, TObjArray &sel2);
91 float FineCorrPhi(TObjArray &sel1, TObjArray &sel2);
110 float Xmin(
int side,TObjArray &
p);
111 float Xmax(
int side,TObjArray &
p);
112 float Ymin(
int side,TObjArray &
p);
113 float Ymax(
int side,TObjArray &
p);
114 void ApplyLimitsOffset(
float &xmin1,
float &xmax1,
float &xmin2,
float &xmax2,
float offsetMax);
123 case(0):
return X(side,
s);
124 case(1):
return Y(side,
s);
125 case(2):
return TX(side,
s);
126 case(3):
return TY(side,
s); }
return 0;
128 float Var(
int side,
int iseg,
int ivar) {
return Var(side,*((
EdbSegP*)
eS[side].UncheckedAt(iseg)),ivar); }
float min(TClonesArray *t)
Definition: bitview.cxx:275
Definition: EdbAffine.h:17
universal basic alignment class
Definition: EdbAlignmentV.h:13
float Y(int side, EdbSegP &s)
Definition: EdbAlignmentV.h:119
void InitHz(int n, float min, float max)
Definition: EdbAlignmentV.h:46
static Int_t CheckEqualArr(TObjArray &arr1, TObjArray &arr2)
Definition: EdbAlignmentV.cxx:389
float Var(int side, int iseg, int ivar)
Definition: EdbAlignmentV.h:128
int SelectIsolated()
Definition: EdbAlignmentV.cxx:116
Bool_t SideOK(int side)
Definition: EdbAlignmentV.cxx:379
Int_t Ncp()
Functions applied to the selected parallel arrays.
Definition: EdbAlignmentV.h:76
float TY(int side, EdbSegP &s)
Definition: EdbAlignmentV.h:121
float Ymin(int side, EdbPattern &p)
Definition: EdbAlignmentV.cxx:1065
int SelectBestCouple()
Definition: EdbAlignmentV.cxx:152
void ApplyLimitsOffset(float &xmin1, float &xmax1, float &xmin2, float &xmax2, float offsetMax)
Definition: EdbAlignmentV.cxx:847
EdbH2 eHxy
position 2d histo to be used in OptimiseVar2
Definition: EdbAlignmentV.h:31
virtual ~EdbAlignmentV()
Definition: EdbAlignmentV.cxx:33
void CorrToCoG(int side, EdbPattern &p)
functions alpplied to the individual patterns
Definition: EdbAlignmentV.cxx:430
TFile * eOutputFile
Definition: EdbAlignmentV.h:35
void Corr2Aff(EdbLayer &layer)
Definition: EdbAlignmentV.cxx:1027
void InitPatCellBin(int side, EdbPattern &pat, float binx, float biny)
Definition: EdbAlignmentV.cxx:830
Float_t FindDensityPeak(TArrayF &arr, float fraction)
Definition: EdbAlignmentV.cxx:563
void InitPatCellN(EdbCell2 &cell, EdbPattern &pat, int nx, int ny)
Definition: EdbAlignmentV.cxx:817
Int_t Ncoins(float dvlim[4], EdbH2 *hdxy=0, EdbH2 *hdtxty=0, TObjArray *sel1=0, TObjArray *sel2=0)
Definition: EdbAlignmentV.cxx:722
void AddSegCouple(EdbSegP *s1, EdbSegP *s2)
Definition: EdbAlignmentV.h:77
Float_t eDVsame[4]
(dx,dy,dtx,dty) condition for the coinsidence
Definition: EdbAlignmentV.h:16
EdbH1 eH[2][7]
Definition: EdbAlignmentV.h:27
Bool_t IsInsideDVsame(EdbSegP &s1, EdbSegP &s2)
Definition: EdbAlignmentV.cxx:57
void InitHphi(int n, float min, float max)
Definition: EdbAlignmentV.h:47
Float_t CalcFractMeanDiff(int ivar, float fraction)
Definition: EdbAlignmentV.cxx:551
int OptimiseVar1(int side, int ivar, EdbH2 *hdxy=0, EdbH2 *hdtxy=0)
Definition: EdbAlignmentV.cxx:278
void InitHshr0(int n, float min, float max)
Definition: EdbAlignmentV.h:48
Bool_t ValidCoinsidence(EdbSegP &s1, EdbSegP &s2, float dvlim[4], float dvfound[4])
Definition: EdbAlignmentV.cxx:709
Int_t CalculateAffXY(EdbAffine2D &aff)
Definition: EdbAlignmentV.h:95
TH1I * eDoubletsRate
can be filled in FillCombinations()
Definition: EdbAlignmentV.h:33
void OptimiseVar2(int side1, int ivar1, int side2, int ivar2, EdbH2 &h12, EdbH2 *hdxy=0, EdbH2 *hdtxty=0)
Definition: EdbAlignmentV.cxx:323
void InitHx(int n, float min, float max)
Definition: EdbAlignmentV.h:44
float FineCorrPhi(TObjArray &sel1, TObjArray &sel2)
Definition: EdbAlignmentV.cxx:464
Int_t CalculateAffTXTYTurn(TObjArray &arr1, TObjArray &arr2, EdbAffine2D &aff)
Definition: EdbAlignmentV.cxx:998
EdbCell2 ePC[2]
2-d position cells with patterns segments
Definition: EdbAlignmentV.h:18
Bool_t eUseAffCorr
if "true" - use eCorrL for corrections
Definition: EdbAlignmentV.h:23
void InitHy(int n, float min, float max)
Definition: EdbAlignmentV.h:45
float Xmax(int side, EdbPattern &p)
Definition: EdbAlignmentV.cxx:1054
void DefineGuessCell(float xmin1, float xmax1, float ymin1, float ymax1, float xmin2, float xmax2, float ymin2, float ymax2, int np1, int np2, float binOK)
Selector functions.
Definition: EdbAlignmentV.cxx:858
EdbLayer eCorrL[2]
corrections in form of affine transformations - the final output
Definition: EdbAlignmentV.h:25
int DoubletsFilterOut(int checkview, TH2F *hxy=0, TH2F *htxty=0)
Definition: EdbAlignmentV.cxx:67
Float_t eYmarg
margins for the cell definition
Definition: EdbAlignmentV.h:19
Float_t CalcMeanDZ(float tmin=0.1, float tmax=2.)
Definition: EdbAlignmentV.cxx:509
void InitHshr1(int n, float min, float max)
Definition: EdbAlignmentV.h:49
char * StrDVsame() const
Definition: EdbAlignmentV.h:50
Float_t eXmarg
Definition: EdbAlignmentV.h:19
Int_t FindDiff(TObjArray &arr1, TObjArray &arr2, float dvlim[4], float dvfound[4])
Definition: EdbAlignmentV.cxx:682
float Var(int side, EdbSegP &s, int ivar)
Definition: EdbAlignmentV.h:122
Int_t CalculateAffTXTY(EdbAffine2D &aff)
Definition: EdbAlignmentV.h:96
Int_t CalculateAffXYTurn(EdbAffine2D &aff)
Definition: EdbAlignmentV.h:94
float X(int side, EdbSegP &s)
Correction parameters handling.
Definition: EdbAlignmentV.h:118
float Ymax(int side, EdbPattern &p)
Definition: EdbAlignmentV.cxx:1076
Int_t CalcAffFull()
Definition: EdbAlignmentV.cxx:614
void InitOutputFile(const char *file="report_al.root", const char *option="RECREATE")
IO, initialization and finalization functions.
Definition: EdbAlignmentV.cxx:41
void FillGuessCell(EdbPattern &p1, EdbPattern &p2, float binOK=1., float offsetMax=2000.)
Definition: EdbAlignmentV.cxx:880
float TX(int side, EdbSegP &s)
Definition: EdbAlignmentV.h:120
int FillCombinations()
Definition: EdbAlignmentV.cxx:208
float Xmin(int side, EdbPattern &p)
Definition: EdbAlignmentV.cxx:1043
float CoupleQuality(EdbSegP &s1, EdbSegP &s2)
Definition: EdbAlignmentV.cxx:189
void FillCell(int side, EdbPattern &pat)
Definition: EdbAlignmentV.cxx:927
void FillThetaHist(int side, EdbH2 &htxy)
Definition: EdbAlignmentV.cxx:196
EdbSegCorr eCorr[2]
corrections for side 1 and 2 (v[7]) - the result of the alignment
Definition: EdbAlignmentV.h:24
Float_t CalcMeanDiff(int ivar)
Definition: EdbAlignmentV.cxx:536
TObjArray eS[2]
"parallel" arrays with the selected combinations of segments
Definition: EdbAlignmentV.h:21
float FineCorrZ()
Definition: EdbAlignmentV.h:89
void HDistance(EdbPattern &p1, EdbPattern &p2, float dxMax, float dyMax)
Definition: EdbAlignmentV.cxx:752
void CloseOutputFile()
Definition: EdbAlignmentV.cxx:48
Int_t CalcApplyFractMeanDiff()
Definition: EdbAlignmentV.cxx:591
Int_t CalcApplyMeanDiff()
Definition: EdbAlignmentV.cxx:642
Float_t CalcMeanShr(float tmin=0.1, float tmax=2.)
Definition: EdbAlignmentV.cxx:488
Int_t FindCorrDiff(float dvsame[4], int side=0, int nlim=10)
Definition: EdbAlignmentV.cxx:665
EdbAlignmentV()
Definition: EdbAlignmentV.cxx:24
class to group 2-dim objects
Definition: EdbCell2.h:148
fast 2-dim histogram class (used as a basis for EdbCell1)
Definition: EdbCell1.h:17
int InitH1(const EdbH1 &h)
Definition: EdbCell1.h:38
fast 2-dim histogram class (used as a basis for EdbCell2)
Definition: EdbCell2.h:19
Definition: EdbLayer.h:39
float Y() const
Definition: EdbLayer.h:76
float X() const
Definition: EdbLayer.h:75
float TY() const
Definition: EdbLayer.h:79
float TX() const
Definition: EdbLayer.h:78
Definition: EdbPattern.h:273
Definition: EdbSegCorr.h:8
float TX(EdbSegP &s)
Definition: EdbSegCorr.h:34
float X(EdbSegP &s)
Definition: EdbSegCorr.h:25
float Y(EdbSegP &s)
Definition: EdbSegCorr.h:26
float TY(EdbSegP &s)
Definition: EdbSegCorr.h:35
s
Definition: check_shower.C:55
int max
Definition: check_shower.C:41
EdbSegP * s1
Definition: tlg2couples.C:29
EdbSegP * s2
Definition: tlg2couples.C:30
TFile * file
Definition: write_pvr.C:3
p
Definition: testBGReduction_AllMethods.C:8