StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StjDijetCutTest.C
1 // Copyright (C) 2008 Tai Sakuma <sakuma@bnl.gov>
2 
3 #include <StjDijetCutAsymmetricPt.h>
4 #include <StjDijetCutEta.h>
5 #include <StjDijetCutEta3MinusEta4.h>
6 #include <StjDijetCutDPhi.h>
7 #include <StjDijetCutTrgBHT.h>
8 #include <StjDijetCutTrgBJP.h>
9 
10 #include <StjTrgBEMCJetPatchTowerIdMap2005.h>
11 
12 #include <StjDijetList.h>
13 
14 #include "StjTrgMock.hh"
15 
16 #include "StjDijetCutTest.hh"
17 
18 // Registers the fixture into the 'registry'
19 CPPUNIT_TEST_SUITE_REGISTRATION( StjDijetCutTest );
20 
21 void StjDijetCutTest::setUp()
22 {
23 
24 }
25 
26 void StjDijetCutTest::tearDown()
27 {
28 
29 }
30 
31 void StjDijetCutTest::testAsymmetricPt()
32 {
33  StjDijetCutAsymmetricPt cut(7.0, 10.0);
34 
35  StjDijet dijet;
36  dijet.jet3.pt = 5.0;
37  dijet.jet4.pt = 6.0;
38  CPPUNIT_ASSERT( cut(dijet) );
39 
40  dijet.jet3.pt = 5.0;
41  dijet.jet4.pt = 11.0;
42  CPPUNIT_ASSERT( cut(dijet) );
43 
44  dijet.jet3.pt = 11.0;
45  dijet.jet4.pt = 5.0;
46  CPPUNIT_ASSERT( cut(dijet) );
47 
48  dijet.jet3.pt = 8.0;
49  dijet.jet4.pt = 8.0;
50  CPPUNIT_ASSERT( cut(dijet) );
51 
52  dijet.jet3.pt = 8.0;
53  dijet.jet4.pt = 11.0;
54  CPPUNIT_ASSERT( ! cut(dijet) );
55 
56  dijet.jet3.pt = 11.0;
57  dijet.jet4.pt = 8.0;
58  CPPUNIT_ASSERT( ! cut(dijet) );
59 }
60 
61 void StjDijetCutTest::testEta()
62 {
63  StjDijetCutEta cut(-0.05, 0.95);
64 
65  StjDijet dijet;
66  dijet.jet3.eta = 0.1;
67  dijet.jet4.eta = 0.2;
68  CPPUNIT_ASSERT( ! cut(dijet) );
69 
70  dijet.jet3.eta = -0.1;
71  dijet.jet4.eta = 0.2;
72  CPPUNIT_ASSERT( cut(dijet) );
73 
74  dijet.jet3.eta = 1.1;
75  dijet.jet4.eta = 0.2;
76  CPPUNIT_ASSERT( cut(dijet) );
77 
78  dijet.jet3.eta = 0.2;
79  dijet.jet4.eta = -0.1;
80  CPPUNIT_ASSERT( cut(dijet) );
81 
82  dijet.jet3.eta = 0.2;
83  dijet.jet4.eta = 1.1;
84  CPPUNIT_ASSERT( cut(dijet) );
85 
86  dijet.jet3.eta = -0.2;
87  dijet.jet4.eta = 1.1;
88  CPPUNIT_ASSERT( cut(dijet) );
89 
90  dijet.jet3.eta = 1.1;
91  dijet.jet4.eta = -0.2;
92  CPPUNIT_ASSERT( cut(dijet) );
93 }
94 
95 void StjDijetCutTest::testEta3MinusEta4()
96 {
97  StjDijetCutEta3MinusEta4 cut(0.5);
98 
99  StjDijet dijet;
100  dijet.jet3.eta = 0.2;
101  dijet.jet4.eta = 0.1;
102  CPPUNIT_ASSERT( ! cut(dijet) );
103 
104  dijet.jet3.eta = 0.61;
105  dijet.jet4.eta = 0.1;
106  CPPUNIT_ASSERT( cut(dijet) );
107 }
108 
109 void StjDijetCutTest::testDPhi()
110 {
111  StjDijetCutDPhi cut(2.0);
112 
113  StjDijet dijet;
114  dijet.dphi = 0.5;
115  CPPUNIT_ASSERT( cut(dijet) );
116 
117  dijet.dphi = 2.1;
118  CPPUNIT_ASSERT( ! cut(dijet) );
119 }
120 
121 void StjDijetCutTest::testTrgBHT_notPass()
122 {
123  StjTrgMock trg;
124  trg._passed = false;
125 
126  StjDijetCutTrgBHT cut(&trg);
127 
128  StjDijet dijet;
129  StjFourVec four1;
130  four1.type = 2;
131  four1.detectorId = 9;
132  four1.towerId = 1;
133  dijet.jet3.fourVecList.push_back(four1);
134 
135  CPPUNIT_ASSERT( cut(dijet) );
136 }
137 
138 void StjDijetCutTest::testTrgBHT_pass()
139 {
140  StjTrgMock trg;
141  trg._passed = true;
142  trg._towers.push_back(1);
143 
144  StjDijetCutTrgBHT cut(&trg);
145 
146  StjDijet dijet;
147  StjFourVec four1;
148  four1.type = 2;
149  four1.detectorId = 9;
150  four1.towerId = 1;
151  dijet.jet3.fourVecList.push_back(four1);
152 
153  CPPUNIT_ASSERT( ! cut(dijet) );
154 
155  StjDijet dijet2;
156  StjFourVec four2;
157  four2.type = 2;
158  four2.detectorId = 9;
159  four2.towerId = 1;
160  dijet2.jet4.fourVecList.push_back(four2);
161 
162  CPPUNIT_ASSERT( ! cut(dijet) );
163 }
164 
165 void StjDijetCutTest::testTrgBHT_type()
166 {
167  StjTrgMock trg;
168  trg._passed = true;
169  trg._towers.push_back(1);
170 
171  StjDijetCutTrgBHT cut(&trg);
172 
173  StjDijet dijet;
174  StjFourVec four1;
175  four1.type = 1;
176  four1.detectorId = 0;
177  four1.towerId = 0;
178  dijet.jet3.fourVecList.push_back(four1);
179 
180  CPPUNIT_ASSERT( cut(dijet) );
181 }
182 
183 void StjDijetCutTest::testTrgBHT_detectorId()
184 {
185  StjTrgMock trg;
186  trg._passed = true;
187  trg._towers.push_back(1);
188 
189  StjDijetCutTrgBHT cut(&trg);
190 
191  StjDijet dijet;
192  StjFourVec four1;
193  four1.type = 2;
194  four1.detectorId = 13;
195  four1.towerId = 1;
196  dijet.jet4.fourVecList.push_back(four1);
197 
198  CPPUNIT_ASSERT( cut(dijet) );
199 }
200 
201 void StjDijetCutTest::testTrgBHT_towerId()
202 {
203  StjTrgMock trg;
204  trg._passed = true;
205  trg._towers.push_back(1);
206 
207  StjDijetCutTrgBHT cut(&trg);
208 
209  StjDijet dijet;
210  StjFourVec four1;
211  four1.type = 2;
212  four1.detectorId = 9;
213  four1.towerId = 3;
214  dijet.jet3.fourVecList.push_back(four1);
215 
216  CPPUNIT_ASSERT( cut(dijet) );
217 }
218 
219 void StjDijetCutTest::testTrgBJP_notPass()
220 {
221  StjTrgMock trg;
222  trg._passed = false;
223 
225 
226  StjDijet dijet;
227  StjFourVec four1;
228  four1.type = 2;
229  four1.detectorId = 9;
230  four1.towerId = 1;
231  dijet.jet4.fourVecList.push_back(four1);
232 
233  CPPUNIT_ASSERT( cut(dijet) );
234 }
235 
236 void StjDijetCutTest::testTrgBJP_pass()
237 {
238  StjTrgMock trg;
239  trg._passed = true;
240  trg._jetPatches.push_back(2);
241 
243 
244  StjDijet dijet;
245  StjFourVec four1;
246  four1.type = 2;
247  four1.detectorId = 9;
248  four1.towerId = 503;
249  dijet.jet3.fourVecList.push_back(four1);
250 
251  CPPUNIT_ASSERT( ! cut(dijet) );
252 }
253 
254 void StjDijetCutTest::testTrgBJP_type()
255 {
256  StjTrgMock trg;
257  trg._passed = true;
258  trg._jetPatches.push_back(2);
259 
261 
262  StjDijet dijet;
263  StjFourVec four1;
264  four1.type = 1;
265  four1.detectorId = 0;
266  four1.towerId = 0;
267  dijet.jet4.fourVecList.push_back(four1);
268 
269  CPPUNIT_ASSERT( cut(dijet) );
270 }
271 
272 void StjDijetCutTest::testTrgBJP_detectorId()
273 {
274  StjTrgMock trg;
275  trg._passed = true;
276  trg._jetPatches.push_back(2);
277 
279 
280  StjDijet dijet;
281  StjFourVec four1;
282  four1.type = 2;
283  four1.detectorId = 13;
284  four1.towerId = 503;
285  dijet.jet4.fourVecList.push_back(four1);
286 
287  CPPUNIT_ASSERT( cut(dijet) );
288 }
289 
290 void StjDijetCutTest::testTrgBJP_jetPatchId()
291 {
292  StjTrgMock trg;
293  trg._passed = true;
294  trg._jetPatches.push_back(2);
295 
297 
298  StjDijet dijet;
299  StjFourVec four1;
300  four1.type = 2;
301  four1.detectorId = 9;
302  four1.towerId = 101;
303  dijet.jet3.fourVecList.push_back(four1);
304 
305  CPPUNIT_ASSERT( cut(dijet) );
306 }
307