FEDRA emulsion software from the OPERA Collaboration
EdbPlateAlignment.h
Go to the documentation of this file.
1#ifndef ROOT_EdbPlateAlignment
2#define ROOT_EdbPlateAlignment
3
4#include "EdbAlignmentV.h"
5
8{
9 public:
10
11 Float_t eSigma[2];
12 Float_t eOffsetMax;
13
14 Float_t eDZ;
15 Float_t eDPHI;
16 Float_t eDoublets[4];
17
18 Bool_t eNoScale;
22 Bool_t eRankCouples;
23 Bool_t eSaveCouples;
24 Bool_t eStatus;
25 Int_t eNcoins;
26
27 Int_t eFineMin;
28 Int_t eCoarseMin;
29
33
34 TObjArray eSegCouples;
36
37 public:
39 virtual ~EdbPlateAlignment();
40
41 void Align(EdbPattern &p1, EdbPattern &p2, float dz );
42 void TestAl(EdbPattern &p1, EdbPattern &p2);
43 void CoarseAl(EdbPattern &p1, EdbPattern &p2);
44 void FineAl(EdbPattern &p1, EdbPattern &p2);
45 void FineAlAff(EdbPattern &p1, EdbPattern &p2, EdbLayer &la1);
47
48 void SetParTestAl( float zcorr, float dz=500, float dphi=0.03 );
49 void SetParCoarseAl( float zcorr, float dpos=300, float dang=0.015, float dz=122, float dphi=0.01 );
50 void SetParFineAl();
51 void ProduceReport();
52 void SaveCouplesTree();
53 void SetSigma(float spos, float sang) { eSigma[0]=spos; eSigma[1]=sang; }
54 void SetDoublets(float dx, float dy, float dtx, float dty)
55 { eDoublets[0]=dx; eDoublets[1]=dy; eDoublets[2]=dtx; eDoublets[3]=dty; }
56
57 void SlowAlignXY(EdbPattern &p1, EdbPattern &p2, EdbH2 &hxy, EdbH1 &hphi, const char *name="slowal" );
58 void RankCouples( TObjArray &arr1,TObjArray &arr2 );
59
60 ClassDef(EdbPlateAlignment,1) // plate-to-plate alignment
61};
62#endif /* ROOT_EdbAlignmentV */
brick dz
Definition: RecDispMC.C:107
universal basic alignment class
Definition: EdbAlignmentV.h:13
fast 2-dim histogram class (used as a basis for EdbCell1)
Definition: EdbCell1.h:17
fast 2-dim histogram class (used as a basis for EdbCell2)
Definition: EdbCell2.h:19
Definition: EdbLayer.h:39
Definition: EdbPattern.h:273
peak analyser for EdbH2
Definition: EdbCell2.h:105
plate-to-plate alignment
Definition: EdbPlateAlignment.h:8
Float_t eOffsetMax
the maximal offset to be looked for
Definition: EdbPlateAlignment.h:12
EdbPeak2 eH_zphi_coarse
the results of the coarse alignment
Definition: EdbPlateAlignment.h:30
TObjArray eSegCouples
segment couples objects to fill couples format tree
Definition: EdbPlateAlignment.h:34
void FineAlAff(EdbPattern &p1, EdbPattern &p2, EdbLayer &la1)
Definition: EdbPlateAlignment.cxx:343
Float_t eSigma[2]
sigma of the bt useful for the fine alignment ie:(10,0.01)
Definition: EdbPlateAlignment.h:11
virtual ~EdbPlateAlignment()
Definition: EdbPlateAlignment.cxx:55
void TestAl(EdbPattern &p1, EdbPattern &p2)
Definition: EdbPlateAlignment.cxx:479
Bool_t eCoarseOK
Definition: EdbPlateAlignment.h:20
Bool_t eSaveCouples
save couples tree with the report file
Definition: EdbPlateAlignment.h:23
Bool_t eFineOK
Definition: EdbPlateAlignment.h:21
void SetSigma(float spos, float sang)
Definition: EdbPlateAlignment.h:53
void SetDoublets(float dx, float dy, float dtx, float dty)
Definition: EdbPlateAlignment.h:54
void SetParFineAl()
Definition: EdbPlateAlignment.cxx:532
EdbPlateAlignment()
Definition: EdbPlateAlignment.cxx:31
Bool_t eDoFine
Definition: EdbPlateAlignment.h:21
void Align(EdbPattern &p1, EdbPattern &p2, float dz)
Definition: EdbPlateAlignment.cxx:61
Int_t eFineMin
minimum coinsidences to accept alignment
Definition: EdbPlateAlignment.h:27
Float_t eDZ
the range +- dz will be scanned by coarce align
Definition: EdbPlateAlignment.h:14
void SlowAlignXY(EdbPattern &p1, EdbPattern &p2, EdbH2 &hxy, EdbH1 &hphi, const char *name="slowal")
Definition: EdbPlateAlignment.cxx:580
Int_t eCoarseMin
minimum coinsidences to accept alignment
Definition: EdbPlateAlignment.h:28
Bool_t eStatus
overall alignment result (true - OK)
Definition: EdbPlateAlignment.h:24
Float_t eDoublets[4]
dx,dy,dtx,dty for the dublets cutout
Definition: EdbPlateAlignment.h:16
void FineAl(EdbPattern &p1, EdbPattern &p2)
Definition: EdbPlateAlignment.cxx:382
void SetParCoarseAl(float zcorr, float dpos=300, float dang=0.015, float dz=122, float dphi=0.01)
Definition: EdbPlateAlignment.cxx:541
Float_t eDPHI
the range +- dphi will be scanned by coarce align
Definition: EdbPlateAlignment.h:15
Int_t eNcoins
final number of coinsidence used for affine calc
Definition: EdbPlateAlignment.h:25
EdbPeak2 eH_xy_coarse
Definition: EdbPlateAlignment.h:31
void ProduceReport()
Definition: EdbPlateAlignment.cxx:133
void SetParTestAl(float zcorr, float dz=500, float dphi=0.03)
Definition: EdbPlateAlignment.cxx:567
void DoubletsFilterOut(EdbPattern &p1, EdbPattern &p2)
Definition: EdbPlateAlignment.cxx:328
Bool_t eDoTestAl
Definition: EdbPlateAlignment.h:19
Bool_t eTestAlOK
Definition: EdbPlateAlignment.h:19
Bool_t eDoCoarse
Definition: EdbPlateAlignment.h:20
void CoarseAl(EdbPattern &p1, EdbPattern &p2)
Definition: EdbPlateAlignment.cxx:429
void SaveCouplesTree()
Definition: EdbPlateAlignment.cxx:115
EdbPeak2 eH_xy_final
the final alignment peak
Definition: EdbPlateAlignment.h:32
Bool_t eRankCouples
rank couples
Definition: EdbPlateAlignment.h:22
Bool_t eDoCorrectBeforeSaving
apply corrections before saving the couples tree in al.root
Definition: EdbPlateAlignment.h:35
Bool_t eNoScale
if 1 - disable scaling for calculation of affine transformations
Definition: EdbPlateAlignment.h:18
void RankCouples(TObjArray &arr1, TObjArray &arr2)
Definition: EdbPlateAlignment.cxx:634
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24