00001
00002
00003 #include <StjDijetCutAsymmetricPt.h>
00004 #include <StjDijetCutEta.h>
00005 #include <StjDijetCutEta3MinusEta4.h>
00006 #include <StjDijetCutDPhi.h>
00007 #include <StjDijetCutTrgBHT.h>
00008 #include <StjDijetCutTrgBJP.h>
00009
00010 #include <StjTrgBEMCJetPatchTowerIdMap2005.h>
00011
00012 #include <StjDijetList.h>
00013
00014 #include "StjTrgMock.hh"
00015
00016 #include "StjDijetCutTest.hh"
00017
00018
00019 CPPUNIT_TEST_SUITE_REGISTRATION( StjDijetCutTest );
00020
00021 void StjDijetCutTest::setUp()
00022 {
00023
00024 }
00025
00026 void StjDijetCutTest::tearDown()
00027 {
00028
00029 }
00030
00031 void StjDijetCutTest::testAsymmetricPt()
00032 {
00033 StjDijetCutAsymmetricPt cut(7.0, 10.0);
00034
00035 StjDijet dijet;
00036 dijet.jet3.pt = 5.0;
00037 dijet.jet4.pt = 6.0;
00038 CPPUNIT_ASSERT( cut(dijet) );
00039
00040 dijet.jet3.pt = 5.0;
00041 dijet.jet4.pt = 11.0;
00042 CPPUNIT_ASSERT( cut(dijet) );
00043
00044 dijet.jet3.pt = 11.0;
00045 dijet.jet4.pt = 5.0;
00046 CPPUNIT_ASSERT( cut(dijet) );
00047
00048 dijet.jet3.pt = 8.0;
00049 dijet.jet4.pt = 8.0;
00050 CPPUNIT_ASSERT( cut(dijet) );
00051
00052 dijet.jet3.pt = 8.0;
00053 dijet.jet4.pt = 11.0;
00054 CPPUNIT_ASSERT( ! cut(dijet) );
00055
00056 dijet.jet3.pt = 11.0;
00057 dijet.jet4.pt = 8.0;
00058 CPPUNIT_ASSERT( ! cut(dijet) );
00059 }
00060
00061 void StjDijetCutTest::testEta()
00062 {
00063 StjDijetCutEta cut(-0.05, 0.95);
00064
00065 StjDijet dijet;
00066 dijet.jet3.eta = 0.1;
00067 dijet.jet4.eta = 0.2;
00068 CPPUNIT_ASSERT( ! cut(dijet) );
00069
00070 dijet.jet3.eta = -0.1;
00071 dijet.jet4.eta = 0.2;
00072 CPPUNIT_ASSERT( cut(dijet) );
00073
00074 dijet.jet3.eta = 1.1;
00075 dijet.jet4.eta = 0.2;
00076 CPPUNIT_ASSERT( cut(dijet) );
00077
00078 dijet.jet3.eta = 0.2;
00079 dijet.jet4.eta = -0.1;
00080 CPPUNIT_ASSERT( cut(dijet) );
00081
00082 dijet.jet3.eta = 0.2;
00083 dijet.jet4.eta = 1.1;
00084 CPPUNIT_ASSERT( cut(dijet) );
00085
00086 dijet.jet3.eta = -0.2;
00087 dijet.jet4.eta = 1.1;
00088 CPPUNIT_ASSERT( cut(dijet) );
00089
00090 dijet.jet3.eta = 1.1;
00091 dijet.jet4.eta = -0.2;
00092 CPPUNIT_ASSERT( cut(dijet) );
00093 }
00094
00095 void StjDijetCutTest::testEta3MinusEta4()
00096 {
00097 StjDijetCutEta3MinusEta4 cut(0.5);
00098
00099 StjDijet dijet;
00100 dijet.jet3.eta = 0.2;
00101 dijet.jet4.eta = 0.1;
00102 CPPUNIT_ASSERT( ! cut(dijet) );
00103
00104 dijet.jet3.eta = 0.61;
00105 dijet.jet4.eta = 0.1;
00106 CPPUNIT_ASSERT( cut(dijet) );
00107 }
00108
00109 void StjDijetCutTest::testDPhi()
00110 {
00111 StjDijetCutDPhi cut(2.0);
00112
00113 StjDijet dijet;
00114 dijet.dphi = 0.5;
00115 CPPUNIT_ASSERT( cut(dijet) );
00116
00117 dijet.dphi = 2.1;
00118 CPPUNIT_ASSERT( ! cut(dijet) );
00119 }
00120
00121 void StjDijetCutTest::testTrgBHT_notPass()
00122 {
00123 StjTrgMock trg;
00124 trg._passed = false;
00125
00126 StjDijetCutTrgBHT cut(&trg);
00127
00128 StjDijet dijet;
00129 StjFourVec four1;
00130 four1.type = 2;
00131 four1.detectorId = 9;
00132 four1.towerId = 1;
00133 dijet.jet3.fourVecList.push_back(four1);
00134
00135 CPPUNIT_ASSERT( cut(dijet) );
00136 }
00137
00138 void StjDijetCutTest::testTrgBHT_pass()
00139 {
00140 StjTrgMock trg;
00141 trg._passed = true;
00142 trg._towers.push_back(1);
00143
00144 StjDijetCutTrgBHT cut(&trg);
00145
00146 StjDijet dijet;
00147 StjFourVec four1;
00148 four1.type = 2;
00149 four1.detectorId = 9;
00150 four1.towerId = 1;
00151 dijet.jet3.fourVecList.push_back(four1);
00152
00153 CPPUNIT_ASSERT( ! cut(dijet) );
00154
00155 StjDijet dijet2;
00156 StjFourVec four2;
00157 four2.type = 2;
00158 four2.detectorId = 9;
00159 four2.towerId = 1;
00160 dijet2.jet4.fourVecList.push_back(four2);
00161
00162 CPPUNIT_ASSERT( ! cut(dijet) );
00163 }
00164
00165 void StjDijetCutTest::testTrgBHT_type()
00166 {
00167 StjTrgMock trg;
00168 trg._passed = true;
00169 trg._towers.push_back(1);
00170
00171 StjDijetCutTrgBHT cut(&trg);
00172
00173 StjDijet dijet;
00174 StjFourVec four1;
00175 four1.type = 1;
00176 four1.detectorId = 0;
00177 four1.towerId = 0;
00178 dijet.jet3.fourVecList.push_back(four1);
00179
00180 CPPUNIT_ASSERT( cut(dijet) );
00181 }
00182
00183 void StjDijetCutTest::testTrgBHT_detectorId()
00184 {
00185 StjTrgMock trg;
00186 trg._passed = true;
00187 trg._towers.push_back(1);
00188
00189 StjDijetCutTrgBHT cut(&trg);
00190
00191 StjDijet dijet;
00192 StjFourVec four1;
00193 four1.type = 2;
00194 four1.detectorId = 13;
00195 four1.towerId = 1;
00196 dijet.jet4.fourVecList.push_back(four1);
00197
00198 CPPUNIT_ASSERT( cut(dijet) );
00199 }
00200
00201 void StjDijetCutTest::testTrgBHT_towerId()
00202 {
00203 StjTrgMock trg;
00204 trg._passed = true;
00205 trg._towers.push_back(1);
00206
00207 StjDijetCutTrgBHT cut(&trg);
00208
00209 StjDijet dijet;
00210 StjFourVec four1;
00211 four1.type = 2;
00212 four1.detectorId = 9;
00213 four1.towerId = 3;
00214 dijet.jet3.fourVecList.push_back(four1);
00215
00216 CPPUNIT_ASSERT( cut(dijet) );
00217 }
00218
00219 void StjDijetCutTest::testTrgBJP_notPass()
00220 {
00221 StjTrgMock trg;
00222 trg._passed = false;
00223
00224 StjDijetCutTrgBJP cut(&trg, new StjTrgBEMCJetPatchTowerIdMap2005);
00225
00226 StjDijet dijet;
00227 StjFourVec four1;
00228 four1.type = 2;
00229 four1.detectorId = 9;
00230 four1.towerId = 1;
00231 dijet.jet4.fourVecList.push_back(four1);
00232
00233 CPPUNIT_ASSERT( cut(dijet) );
00234 }
00235
00236 void StjDijetCutTest::testTrgBJP_pass()
00237 {
00238 StjTrgMock trg;
00239 trg._passed = true;
00240 trg._jetPatches.push_back(2);
00241
00242 StjDijetCutTrgBJP cut(&trg, new StjTrgBEMCJetPatchTowerIdMap2005);
00243
00244 StjDijet dijet;
00245 StjFourVec four1;
00246 four1.type = 2;
00247 four1.detectorId = 9;
00248 four1.towerId = 503;
00249 dijet.jet3.fourVecList.push_back(four1);
00250
00251 CPPUNIT_ASSERT( ! cut(dijet) );
00252 }
00253
00254 void StjDijetCutTest::testTrgBJP_type()
00255 {
00256 StjTrgMock trg;
00257 trg._passed = true;
00258 trg._jetPatches.push_back(2);
00259
00260 StjDijetCutTrgBJP cut(&trg, new StjTrgBEMCJetPatchTowerIdMap2005);
00261
00262 StjDijet dijet;
00263 StjFourVec four1;
00264 four1.type = 1;
00265 four1.detectorId = 0;
00266 four1.towerId = 0;
00267 dijet.jet4.fourVecList.push_back(four1);
00268
00269 CPPUNIT_ASSERT( cut(dijet) );
00270 }
00271
00272 void StjDijetCutTest::testTrgBJP_detectorId()
00273 {
00274 StjTrgMock trg;
00275 trg._passed = true;
00276 trg._jetPatches.push_back(2);
00277
00278 StjDijetCutTrgBJP cut(&trg, new StjTrgBEMCJetPatchTowerIdMap2005);
00279
00280 StjDijet dijet;
00281 StjFourVec four1;
00282 four1.type = 2;
00283 four1.detectorId = 13;
00284 four1.towerId = 503;
00285 dijet.jet4.fourVecList.push_back(four1);
00286
00287 CPPUNIT_ASSERT( cut(dijet) );
00288 }
00289
00290 void StjDijetCutTest::testTrgBJP_jetPatchId()
00291 {
00292 StjTrgMock trg;
00293 trg._passed = true;
00294 trg._jetPatches.push_back(2);
00295
00296 StjDijetCutTrgBJP cut(&trg, new StjTrgBEMCJetPatchTowerIdMap2005);
00297
00298 StjDijet dijet;
00299 StjFourVec four1;
00300 four1.type = 2;
00301 four1.detectorId = 9;
00302 four1.towerId = 101;
00303 dijet.jet3.fourVecList.push_back(four1);
00304
00305 CPPUNIT_ASSERT( cut(dijet) );
00306 }
00307