BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
LTagSetAlg Class Reference

#include <LTagSetAlg.h>

+ Inheritance diagram for LTagSetAlg:

Public Member Functions

 LTagSetAlg (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

Definition at line 15 of file LTagSetAlg.h.

Constructor & Destructor Documentation

◆ LTagSetAlg()

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

Definition at line 45 of file LTagSetAlg.cxx.

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

Member Function Documentation

◆ execute()

StatusCode LTagSetAlg::execute ( )

Definition at line 172 of file LTagSetAlg.cxx.

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

◆ finalize()

StatusCode LTagSetAlg::finalize ( )

Definition at line 550 of file LTagSetAlg.cxx.

550 {
551 MsgStream log(msgSvc(), name());
552 log << MSG::INFO << "In LTagSetAlg finalize()" << iEvt << "Events processed" << endmsg;
553 return StatusCode::SUCCESS;
554}
IMessageSvc * msgSvc()

◆ initialize()

StatusCode LTagSetAlg::initialize ( )

Definition at line 49 of file LTagSetAlg.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 ITagFilterSvc* tmpSvc=0;
57 Gaudi::svcLocator()->service("TagFilterSvc", tmpSvc);
58 m_tagFilterSvc = dynamic_cast<TagFilterSvc *>(tmpSvc);
59 Lc_modeTag[1000] = 0;
60 Lc_modeTag[1001] = 1;
61 Lc_modeTag[1002] = 2;
62 Lc_modeTag[1003] = 3;
63 Lc_modeTag[1004] = 4;
64 Lc_modeTag[1005] = 5;
65 Lc_modeTag[1030] = 6;
66 Lc_modeTag[1031] = 7;
67 Lc_modeTag[1032] = 8;
68 Lc_modeTag[1033] = 9;
69 Lc_modeTag[1034] = 10;
70 Lc_modeTag[1060] = 11;
71 Lc_modeTag[1061] = 12;
72 Lc_modeTag[1062] = 13;
73 Lc_modeTag[1063] = 14;
74 Lc_modeTag[1064] = 15;
75 Lc_modeTag[1065] = 16;
76
77 Ds_modeTag[400] = 1;
78 Ds_modeTag[401] = 0;
79 Ds_modeTag[402] = 2;
80 Ds_modeTag[403] = 13;
81 Ds_modeTag[404] = 3;
82 Ds_modeTag[405] = 4;
83 Ds_modeTag[406] = 5;
84 Ds_modeTag[407] = 14;
85 Ds_modeTag[420] = 28;
86 Ds_modeTag[421] = 6;
87 Ds_modeTag[422] = 24;
88 Ds_modeTag[423] = 25;
89 Ds_modeTag[424] = 26;
90 Ds_modeTag[425] = 27;
91 Ds_modeTag[440] = 7;
92 Ds_modeTag[441] = 8;
93 Ds_modeTag[442] = 20;
94 Ds_modeTag[450] = 21;
95 Ds_modeTag[451] = 22;
96 Ds_modeTag[452] = 23;
97 Ds_modeTag[460] = 9;
98 Ds_modeTag[461] = 15;
99 Ds_modeTag[470] = 16;
100 Ds_modeTag[471] = 17;
101 Ds_modeTag[480] = 10;
102 Ds_modeTag[481] = 11;
103 Ds_modeTag[500] = 29;
104 Ds_modeTag[501] = 18;
105 Ds_modeTag[502] = 12;
106 Ds_modeTag[503] = 19;
107 Ds_modeTag[504] = 30;
108
109 D0_modeTag[0] = 0;
110 D0_modeTag[1] = 1;
111 D0_modeTag[2] = 2;
112 D0_modeTag[3] = 3;
113 D0_modeTag[4] = 4;
114 D0_modeTag[5] = 5;
115 D0_modeTag[50] = 6;
116 D0_modeTag[51] = 7;
117 D0_modeTag[100] = 8;
118 D0_modeTag[101] = 9;
119 D0_modeTag[102] = 10;
120 D0_modeTag[103] = 11;
121 D0_modeTag[104] = 12;
122 D0_modeTag[105] = 13;
123 D0_modeTag[106] = 14;
124 D0_modeTag[107] = 15;
125 D0_modeTag[108] = 16;
126 D0_modeTag[109] = 17;
127 D0_modeTag[110] = 18;
128 D0_modeTag[111] = 19;
129 D0_modeTag[112] = 20;
130 D0_modeTag[113] = 21;
131 D0_modeTag[114] = 22;
132 D0_modeTag[115] = 23;
133 D0_modeTag[116] = 24;
134 D0_modeTag[117] = 25;
135 D0_modeTag[118] = 26;
136 D0_modeTag[119] = 27;
137 D0_modeTag[120] = 28;
138 D0_modeTag[121] = 29;
139 D0_modeTag[122] = 30;
140 D0_modeTag[123] = 30;
141 D0_modeTag[124] = 30;
142 D0_modeTag[125] = 30;
143 D0_modeTag[126] = 30;
144
145 D_modeTag[200] = 0;
146 D_modeTag[201] = 1;
147 D_modeTag[202] = 2;
148 D_modeTag[203] = 3;
149 D_modeTag[204] = 4;
150 D_modeTag[205] = 5;
151 D_modeTag[206] = 6;
152 D_modeTag[207] = 7;
153 D_modeTag[208] = 8;
154 D_modeTag[209] = 9;
155 D_modeTag[210] = 10;
156 D_modeTag[211] = 11;
157 D_modeTag[212] = 12;
158 D_modeTag[213] = 13;
159 D_modeTag[214] = 14;
160 D_modeTag[215] = 15;
161 D_modeTag[216] = 16;
162 D_modeTag[217] = 17;
163 D_modeTag[218] = 18;
164 D_modeTag[219] = 19;
165 D_modeTag[220] = 20;
166 D_modeTag[221] = 21;
167 D_modeTag[222] = 22;
168
169 return StatusCode::SUCCESS;
170}

◆ IntToTag1()

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

Definition at line 556 of file LTagSetAlg.cxx.

557{
558 unsigned int res=0;
559 res = (val4 +(val3<<8) +(val2<<16) +(val1<<24));
560 return res;
561}

Referenced by execute().

◆ IntToTag2()

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

Definition at line 563 of file LTagSetAlg.cxx.

564{
565 unsigned int res=0;
566 res = (val6 +(val5<<5) +(val4<<10) +(val3<<15) +(val2<<20) +(val1<<26));
567 return res;
568}

Referenced by execute().


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