BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
XYZTagSetAlg Class Reference

#include <XYZTagSetAlg.h>

+ Inheritance diagram for XYZTagSetAlg:

Public Member Functions

 XYZTagSetAlg (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 XYZTagSetAlg.h.

Constructor & Destructor Documentation

◆ XYZTagSetAlg()

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

Definition at line 47 of file XYZTagSetAlg.cxx.

47 :
48 Algorithm(name, pSvcLocator) {
49 }

Member Function Documentation

◆ execute()

StatusCode XYZTagSetAlg::execute ( )

Definition at line 174 of file XYZTagSetAlg.cxx.

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

Definition at line 552 of file XYZTagSetAlg.cxx.

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

◆ initialize()

StatusCode XYZTagSetAlg::initialize ( )

Definition at line 51 of file XYZTagSetAlg.cxx.

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

◆ IntToTag1()

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

Definition at line 558 of file XYZTagSetAlg.cxx.

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

Referenced by execute().

◆ IntToTag2()

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

Definition at line 565 of file XYZTagSetAlg.cxx.

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

Referenced by execute().


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