BOSS 7.0.8
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)
 

Detailed Description

Definition at line 15 of file DTagSetAlg.h.

Constructor & Destructor Documentation

◆ DTagSetAlg()

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

Definition at line 45 of file DTagSetAlg.cxx.

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

Member Function Documentation

◆ execute()

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

Definition at line 494 of file DTagSetAlg.cxx.

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

◆ initialize()

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}

◆ IntToTag1()

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

Definition at line 500 of file DTagSetAlg.cxx.

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

Referenced by execute().

◆ IntToTag2()

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

Definition at line 507 of file DTagSetAlg.cxx.

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

Referenced by execute().


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