BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
DTagSetAlg Class Reference

#include <DTagSetAlg.h>

+ Inheritance diagram for DTagSetAlg:

Public Member Functions

 DTagSetAlg (const std::string &name, ISvcLocator *pSvcLocator)
 
StatusCode initialize ()
 
StatusCode execute ()
 
StatusCode finalize ()
 
unsigned int IntToTag1 (int val1, int val2, int val3, int val4)
 
unsigned int IntToTag2 (int val1, int val2, int val3, int val4, int val5, int val6)
 
 DTagSetAlg (const std::string &name, ISvcLocator *pSvcLocator)
 
StatusCode initialize ()
 
StatusCode execute ()
 
StatusCode finalize ()
 
unsigned int IntToTag1 (int val1, int val2, int val3, int val4)
 
unsigned int IntToTag2 (int val1, int val2, int val3, int val4, int val5, int val6)
 

Detailed Description

Constructor & Destructor Documentation

◆ DTagSetAlg() [1/2]

DTagSetAlg::DTagSetAlg ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 45 of file DTagSetAlg.cxx.

45 :
46 Algorithm(name, pSvcLocator) {
47 }

◆ DTagSetAlg() [2/2]

DTagSetAlg::DTagSetAlg ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Member Function Documentation

◆ execute() [1/2]

StatusCode DTagSetAlg::execute ( )

Definition at line 153 of file DTagSetAlg.cxx.

153 {
154
155 int nGoodCharged = 0; //1
156 int nGoodChargedp = 0; //2
157 int nGoodChargedm = 0; //3
158 int nCharged = 0; //4
159 int nNeutrk = 0; //5
160 int nTottrk = 0; //6
161 int totCharged = 0; //7
162 int npionp = 0; //8
163 int npionm = 0; //9
164 int nprotonp = 0; //10
165 int nprotonm = 0; //11
166 int nkaonp = 0; //12
167 int nkaonm = 0; //13
168 int nlambda = 0; //14
169 int nalambda= 0; //15
170 int nks = 0; //16
171 int ngamma = 0; //17
172 int neta = 0; //18
173 int npi0 = 0; //19
174 int nmuonp = 0; //20
175 int nmuonm = 0; //21
176 int nelectronp = 0; //22
177 int nelectronm = 0; //23
178
179 Hep3Vector xorigin(0,0,0);
180 if(m_vtxsvc->isVertexValid()){
181 double* dbv = m_vtxsvc->PrimaryVertex();
182 xorigin.setX(dbv[0]);
183 xorigin.setY(dbv[1]);
184 xorigin.setZ(dbv[2]);
185 }
186
187 SmartDataPtr<EvtRecEvent> evtRecEvent(eventSvc(), EventModel::EvtRec::EvtRecEvent);
188 SmartDataPtr<EvtRecTrackCol> evtRecTrkCol(eventSvc(), EventModel::EvtRec::EvtRecTrackCol);
189
190 nCharged = evtRecEvent->totalCharged();
191 nNeutrk = evtRecEvent->totalNeutral();
192 nTottrk = evtRecEvent->totalTracks();
193
194 // Good charged track selection
195 vector<int> iGood;
196 iGood.clear();
197 for ( Int_t iCharge = 0; iCharge < evtRecEvent->totalCharged(); ++iCharge ) {
198 EvtRecTrackIterator itTrk=evtRecTrkCol->begin() + iCharge;
199 if(!(*itTrk)->isMdcTrackValid()) continue;
200 RecMdcTrack *mdcTrk = (*itTrk)->mdcTrack();
201 HepVector a = mdcTrk->helix();
202 HepSymMatrix Ea = mdcTrk->err();
203 HepPoint3D point0(0.,0.,0.); // the initial point for MDC reconstruction
204 HepPoint3D IP(xorigin[0],xorigin[1],xorigin[2]);
205 VFHelix helixip(point0,a,Ea);
206 helixip.pivot(IP);
207 HepVector vecipa = helixip.a();
208 double Rvxy0=fabs(vecipa[0]); //the nearest distance to IP in xy plane
209 double Rvz0=vecipa[3]; //the nearest distance to IP in z direction
210 double Rvphi0=vecipa[1];
211 if(fabs(Rvxy0) >= 1.0) continue;
212 if(fabs(Rvz0) >= 10.0) continue;
213 if(mdcTrk->charge() > 0) nGoodChargedp++;
214 if(mdcTrk->charge() < 0) nGoodChargedm++;
215 ++nGoodCharged;
216 totCharged +=mdcTrk->charge();
217 iGood.push_back(iCharge);
218 }
219 // std::cout <<"iEvt: "<<iEvt <<" nGoodCharged: "<<nGoodCharged<<std::endl;
220
221 // get photons
222 for(int i = evtRecEvent->totalCharged(); i< evtRecEvent->totalTracks(); i++) {
223 EvtRecTrackIterator iTrk=evtRecTrkCol->begin() + i;
224 if((*iTrk)->isEmcShowerValid()){
225 RecEmcShower* emcShower = (*iTrk)->emcShower();
226 if ( (emcShower->energy()>0.025) && (emcShower->time()>0) && (emcShower->time()<14) && ( ( (abs(cos(emcShower->theta()))<0.80) && (emcShower->energy()>0.025) ) || ( (abs(cos(emcShower->theta()))<0.92) && (abs(cos(emcShower->theta()))>0.86) && (emcShower->energy()>0.050) ) ) ){
227 ngamma++;
228 }
229 }
230 }
231
232 // get tracks
233 for (int i=0;i<iGood.size();i++){
234 EvtRecTrackIterator iTrk = evtRecTrkCol->begin() + iGood[i];
235 RecMdcKalTrack* mdcKalTrack = (*iTrk)->mdcKalTrack();
236
237 // set up pid (but only make very rough pid cuts)
239 pid->init();
240 pid->setMethod(pid->methodProbability());
241 pid->setRecTrack(*iTrk);
242 pid->usePidSys(pid->useDedx() | pid->useTof1() | pid->useTof2());
243 pid->identify(pid->onlyPion() | pid->onlyKaon() | pid->onlyProton() | pid->onlyElectron() | pid->onlyMuon());
244 pid->calculate();
245 if(!(pid->IsPidInfoValid())) continue;
246
247 if ((pid->probPion() > pid->probKaon()) && (pid->probPion() > pid->probProton())){
248 if (mdcKalTrack->charge() > 0) npionp++;
249 if (mdcKalTrack->charge() < 0) npionm++;
250 }
251
252 if ((pid->probKaon() > pid->probPion()) && (pid->probKaon() > pid->probProton())){
253 if (mdcKalTrack->charge() > 0) nkaonp++;
254 if (mdcKalTrack->charge() < 0) nkaonm++;
255 }
256
257 if ((pid->probProton() > pid->probPion()) && (pid->probProton() > pid->probKaon())){
258 if (mdcKalTrack->charge() > 0) nprotonp++;
259 if (mdcKalTrack->charge() < 0) nprotonm++;
260 }
261
262 if (pid->probElectron() > 1.0e-5){
263 if (mdcKalTrack->charge() > 0) nelectronp++;
264 if (mdcKalTrack->charge() < 0) nelectronm++;
265 }
266
267 if (pid->probMuon() > 1.0e-5){
268 if (mdcKalTrack->charge() > 0) nmuonp++;
269 if (mdcKalTrack->charge() < 0) nmuonm++;
270 }
271 }
272
273 // get etas, eta --> gamma gamma
274 SmartDataPtr<EvtRecEtaToGGCol> evtRecEtaToGGCol(eventSvc(), EventModel::EvtRec::EvtRecEtaToGGCol);
275 for (EvtRecEtaToGGCol::iterator iEta = evtRecEtaToGGCol->begin(); iEta != evtRecEtaToGGCol->end(); iEta++){
276 if ((((*iEta)->chisq() < 2500) && ((*iEta)->unconMass() > 0.40) && ((*iEta)->unconMass() < 0.70))){
277 EvtRecTrack* lo = const_cast<EvtRecTrack*>((*iEta)->loEnGamma());
278 RecEmcShower* loShower = lo->emcShower();
279 if ( (loShower->energy() > 0.025) && (loShower->time() > 0) && (loShower->time() < 14) && ( ( (abs(cos(loShower->theta())) < 0.80) && (loShower->energy() > 0.025) ) || ( (abs(cos(loShower->theta())) < 0.92) && (abs(cos(loShower->theta())) > 0.86) && (loShower->energy() > 0.050) ) ) ){
280 EvtRecTrack* hi = const_cast<EvtRecTrack*>((*iEta)->hiEnGamma());
281 RecEmcShower* hiShower = hi->emcShower();
282 if ( (hiShower->energy() > 0.025) && (hiShower->time() > 0) && (hiShower->time() < 14) && ( ( (abs(cos(hiShower->theta())) < 0.80) && (hiShower->energy() > 0.025) ) || ( (abs(cos(hiShower->theta())) < 0.92) && (abs(cos(hiShower->theta())) > 0.86) && (hiShower->energy() > 0.050) ) ) ){
283 neta++;
284 }
285 }
286 }
287 }
288
289 // get pi0s, pi0 --> gamma gamma
290 SmartDataPtr<EvtRecPi0Col> evtRecPi0Col(eventSvc(), EventModel::EvtRec::EvtRecPi0Col);
291 for (EvtRecPi0Col::iterator iPi0 = evtRecPi0Col->begin(); iPi0 != evtRecPi0Col->end(); iPi0++){
292 if ((((*iPi0)->chisq() < 2500) && ((*iPi0)->unconMass() > 0.107) && ((*iPi0)->unconMass() < 0.163))){
293 EvtRecTrack* lo = const_cast<EvtRecTrack*>((*iPi0)->loEnGamma());
294 RecEmcShower* loShower = lo->emcShower();
295 if ( (loShower->energy() > 0.025) && (loShower->time() > 0) && (loShower->time() < 14) && ( (( abs(cos(loShower->theta())) < 0.80) && (loShower->energy() > 0.025) ) || ( (abs(cos(loShower->theta())) < 0.92) && (abs(cos(loShower->theta())) > 0.86) && (loShower->energy() > 0.050) ) ) ){
296 EvtRecTrack* hi = const_cast<EvtRecTrack*>((*iPi0)->hiEnGamma());
297 RecEmcShower* hiShower = hi->emcShower();
298 if ( (hiShower->energy() > 0.025) && (hiShower->time() > 0) && (hiShower->time() < 14) && ( ( (abs(cos(hiShower->theta())) < 0.80) && (hiShower->energy() > 0.025) ) || ( (abs(cos(hiShower->theta())) < 0.92) && (abs(cos(hiShower->theta())) > 0.86) && (hiShower->energy() > 0.050) ) ) ){
299 npi0++;
300 }
301 }
302 }
303 }
304
305 // get kshorts
306 // [[ vertexId is the pdgID ]]
307 // Ks --> pi+ pi- and Lambda --> p+ pi- and ALambda --> p- pi+
308 SmartDataPtr<EvtRecVeeVertexCol> evtRecVeeVertexCol(eventSvc(), EventModel::EvtRec::EvtRecVeeVertexCol);
309 for (EvtRecVeeVertexCol::iterator iKs = evtRecVeeVertexCol->begin(); iKs != evtRecVeeVertexCol->end(); iKs++){
310 if ((*iKs)->vertexId() == 310){
311 if ( ((*iKs)->mass() > 0.471) && ((*iKs)->mass() < 0.524) && ((*iKs)->chi2() < 100) ){
312 nks++;
313 }
314 }
315 }
316
317 for (EvtRecVeeVertexCol::iterator iL = evtRecVeeVertexCol->begin(); iL != evtRecVeeVertexCol->end(); iL++){
318 if ((*iL)->vertexId() == 3122){
319 if ( ((*iL)->mass() > 1.100) && ((*iL)->mass() < 1.130) && ((*iL)->chi2() < 100) ){
320 nlambda++;
321 }
322 }
323 if ((*iL)->vertexId() == -3122){
324 if ( ((*iL)->mass() > 1.100) && ((*iL)->mass() < 1.130) && ((*iL)->chi2() < 100) ){
325 nalambda++;
326 }
327 }
328 }
329
330 unsigned int tagdata1 = nGoodCharged;
331 unsigned int tagdata2 = IntToTag1(nNeutrk, nTottrk, ngamma, npi0);
332 unsigned int tagdata3 = IntToTag2(npionp, npionm, nkaonp, nkaonm, nprotonp, nprotonm);
333 unsigned int tagdata4 = IntToTag2(nlambda, nalambda, nelectronp, nelectronm, nmuonp, nmuonm);
334 unsigned int tagdata5 = IntToTag2(nks, neta, nCharged, nGoodChargedp, nGoodChargedm, totCharged);
335
336 m_tagFilterSvc->setTagData1(tagdata1);
337 m_tagFilterSvc->setTagData2(tagdata2);
338 m_tagFilterSvc->setTagData3(tagdata3);
339 m_tagFilterSvc->setTagData4(tagdata4);
340 m_tagFilterSvc->setTagData5(tagdata5);
341
342 SmartDataPtr<EvtRecDTagCol> evtRecDTagCol(eventSvc(), EventModel::EvtRec::EvtRecDTagCol);
343
344 std::set<UInt_t> Dsmode0, Dsmode1, D0mode0, D0mode1, Dmode0, Dmode1;
345 Dsmode0.clear(); Dsmode1.clear(); D0mode0.clear(); D0mode1.clear(), Dmode0.clear(); Dmode1.clear();
346 if ( evtRecDTagCol ) {
347 EvtRecDTagCol::iterator iter_begin = evtRecDTagCol->begin();
348 EvtRecDTagCol::iterator iter_end = evtRecDTagCol->end();
349 //cout << "Mode = ";
350 for (EvtRecDTagCol::iterator iter = iter_begin; iter != iter_end; iter++) {
351 Int_t type = (*iter)->type();
352 Int_t mode = (*iter)->decayMode();
353 //cout << mode << "," << type << " " ;
354 if ( mode>=400 && mode<505 ) {
355 if (type==1) {
356 Dsmode1.insert(mode);
357 } else {
358 Dsmode0.insert(mode);
359 }
360 }
361 else if ( mode>=0 && mode<200 ) {
362 if (type==1) {
363 D0mode1.insert(mode);
364 } else {
365 D0mode0.insert(mode);
366 }
367 }
368 else if ( mode>=200 && mode<400 ) {
369 if (type==1) {
370 Dmode1.insert(mode);
371 } else {
372 Dmode0.insert(mode);
373 }
374 }
375 }
376 //cout << endl;
377 }
378
379 UInt_t Ds_modemap = 0, D0_modemap = 0, D_modemap = 0;
380 int data0=3;
381 std::set<UInt_t>::iterator it1, it0;
382
383 if ( Dsmode1.size()>0 ) {
384 std::cout << "Evt: " << iEvt << " Ds_1 : ";
385 Ds_modemap |= (1<<31);
386 for (it1=Dsmode1.begin(); it1!=Dsmode1.end(); ++it1) {
387 std::cout << ' ' << *it1;
388 Ds_modemap |= (1<<Ds_modeTag[*it1]);
389 }
390 std::cout << endl;
391 } else {
392 if ( Dsmode0.size()>0 ) {
393 std::cout << "Evt: " << iEvt << " Ds_0 : ";
394 for (it0=Dsmode0.begin(); it0!=Dsmode0.end(); ++it0) {
395 std::cout << ' ' << *it0;
396 Ds_modemap |= (1<<Ds_modeTag[*it0]);
397 }
398 std::cout << endl;
399 }
400 }
401
402 if ( D0mode1.size()>0 ) {
403 std::cout << "Evt: " << iEvt << " D0_1 : ";
404 D0_modemap |= (1<<31);
405 for (it1=D0mode1.begin(); it1!=D0mode1.end(); ++it1) {
406 std::cout << ' ' << *it1;
407 D0_modemap |= (1<<D0_modeTag[*it1]);
408 }
409 std::cout << endl;
410 } else {
411 if ( D0mode0.size()>0 ) {
412 std::cout << "Evt: " << iEvt << " D0_0 : ";
413 for (it0=D0mode0.begin(); it0!=D0mode0.end(); ++it0) {
414 std::cout << ' ' << *it0;
415 D0_modemap |= (1<<D0_modeTag[*it0]);
416 }
417 std::cout << endl;
418 }
419 }
420
421 if ( Dmode1.size()>0 ) {
422 std::cout << "Evt: " << iEvt << " D+_1 : ";
423 D_modemap |= (1<<31);
424 for (it1=Dmode1.begin(); it1!=Dmode1.end(); ++it1) {
425 std::cout << ' ' << *it1;
426 D_modemap |= (1<<D_modeTag[*it1]);
427 }
428 std::cout << endl;
429 } else {
430 if ( Dmode0.size()>0 ) {
431 std::cout << "Evt: " << iEvt << " D+_0 : ";
432 for (it0=Dmode0.begin(); it0!=Dmode0.end(); ++it0) {
433 std::cout << ' ' << *it0;
434 D_modemap |= (1<<D_modeTag[*it0]);
435 }
436 std::cout << endl;
437 }
438 }
439
440 if ( Dsmode1.size()>0 ) {
441 data0 = 0;
442 } else if ( D0mode1.size()>0 || Dmode1.size()>0 ) {
443 data0 = 1;
444 } else if ( Dsmode0.size()>0 || D0mode0.size()>0 || Dmode0.size()>0 ) {
445 data0 = 2;
446 }
447 /*
448 if (Ds_modemap>0) {
449 cout << "Ds_mode = " << " ";
450 for(int i = 0; i < 32; i ++) {
451 int bit = Ds_modemap&(1<<(32-i-1));
452 if(bit == 0) cout << 0;
453 else cout << 1;
454 if(i % 4 == 3)cout << ' ';
455 }
456 cout << " " << Ds_modemap << endl;
457 }
458 if (D0_modemap>0) {
459 cout << "D0_mode = " << " ";
460 for(int i = 0; i < 32; i ++) {
461 int bit = D0_modemap&(1<<(32-i-1));
462 if(bit == 0) cout << 0;
463 else cout << 1;
464 if(i % 4 == 3)cout << ' ';
465 }
466 cout << " " << D0_modemap << endl;
467 }
468 if (D_modemap>0) {
469 cout << "Dp_mode = " << " ";
470 for(int i = 0; i < 32; i ++) {
471 int bit = D_modemap&(1<<(32-i-1));
472 if(bit == 0) cout << 0;
473 else cout << 1;
474 if(i % 4 == 3)cout << ' ';
475 }
476 cout << " " << D_modemap << endl;
477 }
478 */
479 m_tagFilterSvc->setTagData0(data0);
480 m_tagFilterSvc->setTagData6(Ds_modemap);
481 m_tagFilterSvc->setTagData7(D0_modemap);
482 m_tagFilterSvc->setTagData8(D_modemap);
483 //cout << iEvt << " Data0= " << tagdata1 << " 1= " << tagdata2 << " 2= " << tagdata3 << " 3= " << tagdata4 << " 4= " << tagdata5 << endl;
484 //cout << "nNeutrk= " << nNeutrk << ", nTottrk= " << nTottrk << ", ngamma = "<< ngamma << ", npi0= " << npi0 << endl;
485 //cout << "npionp=" << npionp << ", npionm=" << npionm << ", nkaonp= " << nkaonp << ", nkaonm= " << nkaonm << ", nprotonp= " << nprotonp << ", nprotonm= " << nprotonm << endl;
486 //cout << "nlambda= " << nlambda << ", nalambda= " << nalambda << ", nelectronp= " << nelectronp << ", nelectronm= " << nelectronm << ", nmuonp= " << nmuonp << ", nmuonm= " << nmuonm << endl;
487 //cout << "nks= " << nks << ", neta= " << neta << ", nCharged= " << nCharged << ", nGoodChargedp= " << nGoodChargedp << ", nGoodChargedm= " << nGoodChargedm << ", totCharged= " << totCharged << endl;
488
489 iEvt++;
490}
EvtStreamInputIterator< typename Generator::result_type > iter(Generator gen, int N=0)
double cos(const BesAngle a)
unsigned int IntToTag2(int val1, int val2, int val3, int val4, int val5, int val6)
Definition: DTagSetAlg.cxx:505
unsigned int IntToTag1(int val1, int val2, int val3, int val4)
Definition: DTagSetAlg.cxx:498
const HepSymMatrix err() const
const HepVector helix() const
......
virtual void setTagData1(unsigned int t)=0
virtual void setTagData0(unsigned int t)=0
virtual void setTagData6(unsigned int t)=0
virtual void setTagData2(unsigned int t)=0
virtual void setTagData4(unsigned int t)=0
virtual void setTagData8(unsigned int t)=0
virtual void setTagData5(unsigned int t)=0
virtual void setTagData3(unsigned int t)=0
virtual void setTagData7(unsigned int t)=0
virtual bool isVertexValid()=0
virtual double * PrimaryVertex()=0
static ParticleID * instance()
Definition: ParticleID.cxx:22
bool IsPidInfoValid() const
void calculate()
Definition: ParticleID.cxx:97
void init()
Definition: ParticleID.cxx:27

◆ execute() [2/2]

StatusCode DTagSetAlg::execute ( )

◆ finalize() [1/2]

StatusCode DTagSetAlg::finalize ( )

Definition at line 492 of file DTagSetAlg.cxx.

492 {
493 MsgStream log(msgSvc(), name());
494 log << MSG::INFO << "In DTagSetAlg finalize()" << iEvt << "Events processed" << endmsg;
495 return StatusCode::SUCCESS;
496}

◆ finalize() [2/2]

StatusCode DTagSetAlg::finalize ( )

◆ initialize() [1/2]

StatusCode DTagSetAlg::initialize ( )

Definition at line 49 of file DTagSetAlg.cxx.

49 {
50 MsgStream log(msgSvc(), name());
51
52 log << MSG::INFO << "in initialize()" << endmsg;
53 iEvt=0;
54
55 Gaudi::svcLocator()->service("VertexDbSvc", m_vtxsvc);
56 Gaudi::svcLocator()->service("TagFilterSvc", m_tagFilterSvc);
57
58 Ds_modeTag[400] = 1;
59 Ds_modeTag[401] = 0;
60 Ds_modeTag[402] = 2;
61 Ds_modeTag[403] = 13;
62 Ds_modeTag[404] = 3;
63 Ds_modeTag[405] = 4;
64 Ds_modeTag[406] = 5;
65 Ds_modeTag[407] = 14;
66 Ds_modeTag[420] = 28;
67 Ds_modeTag[421] = 6;
68 Ds_modeTag[422] = 24;
69 Ds_modeTag[423] = 25;
70 Ds_modeTag[424] = 26;
71 Ds_modeTag[425] = 27;
72 Ds_modeTag[440] = 7;
73 Ds_modeTag[441] = 8;
74 Ds_modeTag[442] = 20;
75 Ds_modeTag[450] = 21;
76 Ds_modeTag[451] = 22;
77 Ds_modeTag[452] = 23;
78 Ds_modeTag[460] = 9;
79 Ds_modeTag[461] = 15;
80 Ds_modeTag[470] = 16;
81 Ds_modeTag[471] = 17;
82 Ds_modeTag[480] = 10;
83 Ds_modeTag[481] = 11;
84 Ds_modeTag[500] = 29;
85 Ds_modeTag[501] = 18;
86 Ds_modeTag[502] = 12;
87 Ds_modeTag[503] = 19;
88 Ds_modeTag[504] = 30;
89
90 D0_modeTag[0] = 0;
91 D0_modeTag[1] = 1;
92 D0_modeTag[2] = 2;
93 D0_modeTag[3] = 3;
94 D0_modeTag[4] = 4;
95 D0_modeTag[5] = 5;
96 D0_modeTag[50] = 6;
97 D0_modeTag[51] = 7;
98 D0_modeTag[100] = 8;
99 D0_modeTag[101] = 9;
100 D0_modeTag[102] = 10;
101 D0_modeTag[103] = 11;
102 D0_modeTag[104] = 12;
103 D0_modeTag[105] = 13;
104 D0_modeTag[106] = 14;
105 D0_modeTag[107] = 15;
106 D0_modeTag[108] = 16;
107 D0_modeTag[109] = 17;
108 D0_modeTag[110] = 18;
109 D0_modeTag[111] = 19;
110 D0_modeTag[112] = 20;
111 D0_modeTag[113] = 21;
112 D0_modeTag[114] = 22;
113 D0_modeTag[115] = 23;
114 D0_modeTag[116] = 24;
115 D0_modeTag[117] = 25;
116 D0_modeTag[118] = 26;
117 D0_modeTag[119] = 27;
118 D0_modeTag[120] = 28;
119 D0_modeTag[121] = 29;
120 D0_modeTag[122] = 30;
121 D0_modeTag[123] = 30;
122 D0_modeTag[124] = 30;
123 D0_modeTag[125] = 30;
124 D0_modeTag[126] = 30;
125
126 D_modeTag[200] = 0;
127 D_modeTag[201] = 1;
128 D_modeTag[202] = 2;
129 D_modeTag[203] = 3;
130 D_modeTag[204] = 4;
131 D_modeTag[205] = 5;
132 D_modeTag[206] = 6;
133 D_modeTag[207] = 7;
134 D_modeTag[208] = 8;
135 D_modeTag[209] = 9;
136 D_modeTag[210] = 10;
137 D_modeTag[211] = 11;
138 D_modeTag[212] = 12;
139 D_modeTag[213] = 13;
140 D_modeTag[214] = 14;
141 D_modeTag[215] = 15;
142 D_modeTag[216] = 16;
143 D_modeTag[217] = 17;
144 D_modeTag[218] = 18;
145 D_modeTag[219] = 19;
146 D_modeTag[220] = 20;
147 D_modeTag[221] = 21;
148 D_modeTag[222] = 22;
149
150 return StatusCode::SUCCESS;
151}

◆ initialize() [2/2]

StatusCode DTagSetAlg::initialize ( )

◆ IntToTag1() [1/2]

unsigned int DTagSetAlg::IntToTag1 ( int  val1,
int  val2,
int  val3,
int  val4 
)

Definition at line 498 of file DTagSetAlg.cxx.

499{
500 unsigned int res=0;
501 res = (val4 +(val3<<8) +(val2<<16) +(val1<<24));
502 return res;
503}

Referenced by execute().

◆ IntToTag1() [2/2]

unsigned int DTagSetAlg::IntToTag1 ( int  val1,
int  val2,
int  val3,
int  val4 
)

◆ IntToTag2() [1/2]

unsigned int DTagSetAlg::IntToTag2 ( int  val1,
int  val2,
int  val3,
int  val4,
int  val5,
int  val6 
)

Definition at line 505 of file DTagSetAlg.cxx.

506{
507 unsigned int res=0;
508 res = (val6 +(val5<<5) +(val4<<10) +(val3<<15) +(val2<<20) +(val1<<26));
509 return res;
510}

Referenced by execute().

◆ IntToTag2() [2/2]

unsigned int DTagSetAlg::IntToTag2 ( int  val1,
int  val2,
int  val3,
int  val4,
int  val5,
int  val6 
)

The documentation for this class was generated from the following files: