FEDRA emulsion software from the OPERA Collaboration
align.C File Reference

Functions

void align ()
 
int cut_seg_bern (float x0, float y0, float tx0, float ty0, float puls)
 
int cut_seg_cp (float x0, float y0, float tx0, float ty0, float puls)
 
int cut_seg_nap (float x0, float y0, float tx0, float ty0, float puls)
 
void getBernData (EdbPVRec *al)
 
void getNapoliData (EdbPVRec *al)
 
void getNapoliSepData (EdbPVRec *al)
 

Variables

EdbPVRecali =0
 

Function Documentation

◆ align()

void align ( )
5 {
6  gROOT->LoadMacro("ScanCond.C");
7  gROOT->LoadMacro("IO.C");
8 
12 
13  ali = new EdbPVRec();
15 
17 
18  ali->SetPatternsID();
19  ali->GetScanCond()->Print();
21 
22  ali->SetCouplesAll();
23  ali->SetChi2Max(5.);
24  ali->SetOffsetsMax(200,200);
25 
26  ali->Align();
27 
28  //EdbAffine2D a;
29  //a.Set(0.999125, -0.000185, 0.000264, 0.999657, -13.793780, 42.138744);
30  //ali->GetPattern(0)->Transform(&a);
31 
32  ali->Link();
33  ali->PrintAff();
34 
35  TTree *tree = inittree("couples",
36  "align.root",
37  "RECREATE");
38 
39 
40 
41  filltree(tree, ali,1);
42 }
void filltree(TTree *tree, EdbPVRec *al, int fillraw=0)
Definition: IO.C:455
void Set_Prototype_OPERA_basetrack(EdbScanCond *cond)
Definition: ScanCond.C:41
void getNapoliSepData(EdbPVRec *al)
Definition: align.C:91
EdbPVRec * ali
Definition: align.C:1
void inittree()
Definition: aln.cpp:84
EdbScanCond * scanCond
Definition: aln.cpp:16
Definition: EdbPVRec.h:148
void SetSegmentsErrors()
Definition: EdbPVRec.cxx:1125
int Align(int alignFlag)
Definition: EdbPVRec.cxx:1206
EdbScanCond const * GetScanCond()
Definition: EdbPVRec.h:172
void SetChi2Max(float chi)
Definition: EdbPVRec.h:186
void SetCouplesAll()
Definition: EdbPVRec.cxx:974
int Link()
Definition: EdbPVRec.cxx:1183
void SetScanCond(EdbScanCond *scan)
Definition: EdbPVRec.h:171
void SetOffsetsMax(float ox, float oy)
Definition: EdbPVRec.cxx:924
Definition: EdbPattern.h:348
void PrintAff() const
Definition: EdbPattern.cxx:1811
void SetPatternsID()
Definition: EdbPattern.cxx:1763
Definition: EdbScanCond.h:10
void Print() const
Definition: EdbScanCond.cxx:50

◆ cut_seg_bern()

int cut_seg_bern ( float  x0,
float  y0,
float  tx0,
float  ty0,
float  puls 
)
46 {
47  if( TMath::Abs(tx0) < .1 ) return 0;
48  if( TMath::Abs(ty0) > .1 ) return 0;
49  if( puls < 15 ) return 0;
50 
51  return 1;
52 }

◆ cut_seg_cp()

int cut_seg_cp ( float  x0,
float  y0,
float  tx0,
float  ty0,
float  puls 
)
65 {
66  // this function is called by GetDataCouples() to reject bad segments
67  return cut_seg_nap(x0,y0,tx0,ty0,puls);
68  return 1;
69 }
int cut_seg_nap(float x0, float y0, float tx0, float ty0, float puls)
Definition: align.C:55

◆ cut_seg_nap()

int cut_seg_nap ( float  x0,
float  y0,
float  tx0,
float  ty0,
float  puls 
)
56 {
57  if( x0 > 50000. ) return 0;
58  if( y0 > 40000. ) return 0;
59 
60  return 1;
61 }

◆ getBernData()

void getBernData ( EdbPVRec al)
113 {
114  EdbPattern *pat=0;
115  pat = new EdbPattern(0.,0., 0. );
117  "/mnt/nusrv4_2/ftpuser/aedb1204.root"
118  ,"couples", pat );
119  al->AddPattern(pat);
120 
121 
122  pat = new EdbPattern(0.,0., 1100. );
124  "/mnt/nusrv4_2/ftpuser/aedb1304.root"
125  ,"couples", pat );
126  al->AddPattern(pat);
127 
128 
129 // pat = new EdbPattern(0.,0., -2600. );
130 // getDataCouples(
131 // "/mnt/nusrv4_2/ftpuser/aedb1404.root"
132 // ,"couples", pat );
133 // al->AddPattern(pat);
134 }
void getDataCouples(const char *file_name, const char *tree_name="couples", EdbPattern *pat, Bool_t MaxCHI2=kFALSE)
Definition: IO.C:220
Definition: EdbPattern.h:280
void AddPattern(EdbPattern *pat)
Definition: EdbPattern.cxx:1867

◆ getNapoliData()

void getNapoliData ( EdbPVRec al)
73 {
74  EdbPattern *pat=0;
75  pat = new EdbPattern(0.,0., 0. );
77  "/mnt/operalabdb_e/data/proc/b1_jun2003/pl14/lnk_Jun2003_02010114.root"
78  ,"couples", pat );
79  al->AddPattern(pat);
80 
81 
82  pat = new EdbPattern(0.,0., -285. );
84  "/mnt/operalabdb_e/data/proc/b1_jun2003/pl15/lnk_Jun2003_02010115.root"
85  ,"couples", pat );
86 
87  al->AddPattern(pat);
88 }

◆ getNapoliSepData()

void getNapoliSepData ( EdbPVRec al)
92 {
93  EdbPattern *pat=0;
94  pat = new EdbPattern(0.,0., 0. );
96  "link_pl1_1.root"
97  //"/home/dicapua/fedra/src/appl/align/pl01.root"
98  ,"couples", pat );
99  al->AddPattern(pat);
100 
101 
102  pat = new EdbPattern(0.,0., 1300. );
104  "link_pl2_1.root"
105  //"/home/dicapua/fedra/src/appl/align/pl02.root"
106  ,"couples", pat );
107 
108  al->AddPattern(pat);
109 }

Variable Documentation

◆ ali

EdbPVRec* ali =0