AliRoot Core  3dc7879 (3dc7879)
AliESDHeader.cxx
Go to the documentation of this file.
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * *
4  * Author: The ALICE Off-line Project. *
5  * Contributors are mentioned in the code where appropriate. *
6  * *
7  * Permission to use, copy, modify and distribute this software and its *
8  * documentation strictly for non-commercial purposes is hereby granted *
9  * without fee, provided that the above copyright notice appears in all *
10  * copies and that both the copyright notice and this permission notice *
11  * appear in the supporting documentation. The authors make no claims *
12  * about the suitability of this software for any purpose. It is *
13  * provided "as is" without express or implied warranty. *
14  **************************************************************************/
15 
16 //-------------------------------------------------------------------------
17 // Implementation of Class AliESDHeader
18 // Header data
19 // for the ESD
20 // Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch
21 //-------------------------------------------------------------------------
22 
23 #include "AliESDHeader.h"
24 #include "AliTriggerScalersESD.h"
26 #include "AliTriggerIR.h"
28 #include "AliLog.h"
29 
30 ClassImp(AliESDHeader)
31 
32 //______________________________________________________________________________
34  AliVHeader(),
35  fTriggerMask(0),
36  fTriggerMaskNext50(0),
37  fOrbitNumber(0),
38  fTimeStamp(0),
39  fEventType(0),
40  fEventSpecie(0),
41  fPeriodNumber(0),
42  fEventNumberInFile(0),
43  fBunchCrossNumber(0),
44  fTriggerCluster(0),
45  fL0TriggerInputs(0),
46  fL1TriggerInputs(0),
47  fL2TriggerInputs(0),
48  fTriggerScalers(),
49  fTriggerScalersDeltaEvent(),
50  fTriggerScalersDeltaRun(),
51  fTriggerInputsNames(kNTriggerInputs),
52  fCTPConfig(NULL),
53  fIRBufferArray(),
54  fIRInt2InteractionsMap(0),
55  fIRInt1InteractionsMap(0)
56 {
57  // default constructor
58 
59  SetName("AliESDHeader");
60  for(Int_t i = 0; i<kNMaxIR ; i++) fIRArray[i] = 0;
61  fTriggerInputsNames.SetOwner(kTRUE);
62  for (Int_t itype=0; itype<3; itype++) fTPCNoiseFilterCounter[itype]=0;
63  fIRBufferArray.SetOwner(kTRUE);
64 }
65 
67 {
68  // destructor
69  for(Int_t i=0;i<kNMaxIR;i++)if(fIRArray[i])delete fIRArray[i];
70  delete fCTPConfig;
71  // fIRBufferArray.Delete();
72 }
73 
74 
76  AliVHeader(header),
77  fTriggerMask(header.fTriggerMask),
79  fOrbitNumber(header.fOrbitNumber),
80  fTimeStamp(header.fTimeStamp),
81  fEventType(header.fEventType),
82  fEventSpecie(header.fEventSpecie),
94  fCTPConfig(header.fCTPConfig),
98 {
99  // copy constructor
100  for(Int_t i = 0; i<kNMaxIR ; i++) {
101  if(header.fIRArray[i])fIRArray[i] = new AliTriggerIR(*header.fIRArray[i]);
102  else fIRArray[i]=0;
103  }
104  for(Int_t i = 0; i < kNTriggerInputs; i++) {
105  TNamed *str = (TNamed *)((header.fTriggerInputsNames).At(i));
106  if (str) fTriggerInputsNames.AddAt(new TNamed(*str),i);
107  }
108 
109  for(Int_t i = 0; i < (header.fIRBufferArray).GetEntries(); ++i) {
110  AliTriggerIR *ir = (AliTriggerIR*)((header.fIRBufferArray).At(i));
111  if (ir) fIRBufferArray.Add(new AliTriggerIR(*ir));
112  }
113  for (Int_t itype=0; itype<3; itype++) fTPCNoiseFilterCounter[itype]=header.fTPCNoiseFilterCounter[itype];
114  fTriggerInputsNames.SetOwner(kTRUE);
115  fIRBufferArray.SetOwner(kTRUE);
116 }
117 
119 {
120  // assigment operator
121  if(this!=&header) {
122  AliVHeader::operator=(header);
123  fTriggerMask = header.fTriggerMask;
125  fOrbitNumber = header.fOrbitNumber;
126  fTimeStamp = header.fTimeStamp;
127  fEventType = header.fEventType;
128  fEventSpecie = header.fEventSpecie;
129  fPeriodNumber = header.fPeriodNumber;
141 
142  delete fCTPConfig;
143  fCTPConfig = header.fCTPConfig;
144 
145  fTriggerInputsNames.Clear();
146  for(Int_t i = 0; i < kNTriggerInputs; i++) {
147  TNamed *str = (TNamed *)((header.fTriggerInputsNames).At(i));
148  if (str) fTriggerInputsNames.AddAt(new TNamed(*str),i);
149  }
150  for(Int_t i = 0; i<kNMaxIR ; i++) {
151  delete fIRArray[i];
152  if(header.fIRArray[i])fIRArray[i] = new AliTriggerIR(*header.fIRArray[i]);
153  else fIRArray[i]=0;
154  }
155 
156  fIRBufferArray.Delete();
157  for(Int_t i = 0; i < (header.fIRBufferArray).GetEntries(); ++i) {
158  AliTriggerIR *ir = (AliTriggerIR*)((header.fIRBufferArray).At(i));
159  if (ir) fIRBufferArray.Add(new AliTriggerIR(*ir));
160  }
161  for (Int_t itype=0; itype<3; itype++) fTPCNoiseFilterCounter[itype]=header.fTPCNoiseFilterCounter[itype];
162  }
163  return *this;
164 }
165 
166 void AliESDHeader::Copy(TObject &obj) const
167 {
168  // this overwrites the virtual TOBject::Copy()
169  // to allow run time copying without casting
170  // in AliESDEvent
171 
172  if(this==&obj)return;
173  AliESDHeader *robj = dynamic_cast<AliESDHeader*>(&obj);
174  if(!robj)return; // not an AliESDHeader
175  *robj = *this;
176 
177 }
178 //______________________________________________________________________________
180 {
181  // reset all data members
182  fTriggerMask = 0;
183  fTriggerMaskNext50 = 0;
184  fOrbitNumber = 0;
185  fTimeStamp = 0;
186  fEventType = 0;
187  fEventSpecie = 0;
188  fPeriodNumber = 0;
189  fEventNumberInFile = 0;
190  fBunchCrossNumber = 0;
191  fTriggerCluster = 0;
192  fL0TriggerInputs = 0;
193  fL1TriggerInputs = 0;
194  fL2TriggerInputs = 0;
198  fTriggerInputsNames.Clear();
199 
200  fIRInt2InteractionsMap.ResetAllBits();
201  fIRInt1InteractionsMap.ResetAllBits();
202 
203  delete fCTPConfig;
204  fCTPConfig = 0;
205  for(Int_t i=0;i<kNMaxIR;i++)if(fIRArray[i]){
206  delete fIRArray[i];
207  fIRArray[i]=0;
208  }
209  for (Int_t itype=0; itype<3; itype++) fTPCNoiseFilterCounter[itype]=0;
210  fIRBufferArray.Clear();
211 }
212 //______________________________________________________________________________
214 {
215  // Add an IR object into the array
216  // of IRs in the ESD header
217 
218  fIRBufferArray.Add(new AliTriggerIR(*ir));
219 
220  return kTRUE;
221 }
222 //______________________________________________________________________________
223 void AliESDHeader::Print(const Option_t *) const
224 {
225  // Print some data members
226  printf("Event # %d in file Bunch crossing # %d Orbit # %d Trigger %lld %lld\n",
229  GetOrbitNumber(),
230  GetTriggerMask(),
232  printf("List of the active trigger inputs: ");
233  for(Int_t i = 0; i < kNTriggerInputs; i++) {
234  TNamed *str = (TNamed *)((fTriggerInputsNames).At(i));
235  if (str) printf("%i %s ",i,str->GetName());
236  }
237  printf("\n");
238 }
239 
240 //______________________________________________________________________________
241 void AliESDHeader::SetActiveTriggerInputs(const char*name, Int_t index)
242 {
243  // Fill the active trigger inputs names
244  // into the corresponding fTriggerInputsNames (TObjArray of TNamed)
245  if (index >= kNTriggerInputs || index < 0) {
246  AliError(Form("Index (%d) is outside the allowed range (0,59)!",index));
247  return;
248  }
249 
250  fTriggerInputsNames.AddAt(new TNamed(name,NULL),index);
251 }
252 //______________________________________________________________________________
253 const char* AliESDHeader::GetTriggerInputName(Int_t index, Int_t trglevel) const
254 {
255  // Get the trigger input name
256  // at the specified position in the trigger mask and trigger level (0,1,2)
257  TNamed *trginput = 0;
258  if (trglevel == 0) trginput = (TNamed *)fTriggerInputsNames.At(index);
259  if (trglevel == 1) trginput = (TNamed *)fTriggerInputsNames.At(index+24);
260  if (trglevel == 2) trginput = (TNamed *)fTriggerInputsNames.At(index+48);
261  if (trginput) return trginput->GetName();
262  else return "";
263 }
264 //______________________________________________________________________________
266 {
267  // Returns the list with the names of the active trigger inputs
268  TString trginputs;
269  for(Int_t i = 0; i < kNTriggerInputs; i++) {
270  TNamed *str = (TNamed *)((fTriggerInputsNames).At(i));
271  if (str) {
272  trginputs += " ";
273  trginputs += str->GetName();
274  trginputs += " ";
275  }
276  }
277 
278  return trginputs;
279 }
280 //______________________________________________________________________________
282 {
283  // Returns the list with the names of the fired trigger inputs
284  TString trginputs;
285  for(Int_t i = 0; i < kNTriggerInputs; i++) {
286  TNamed *str = (TNamed *)((fTriggerInputsNames.At(i)));
287  if (i < 24 && (fL0TriggerInputs & (1ul << i))) {
288  if (str) {
289  trginputs += " ";
290  trginputs += str->GetName();
291  trginputs += " ";
292  }
293  }
294  if (i >= 24 && i < 48 && (fL1TriggerInputs & (1ul << (i-24)))) {
295  if (str) {
296  trginputs += " ";
297  trginputs += str->GetName();
298  trginputs += " ";
299  }
300  }
301  if (i >= 48 && (fL2TriggerInputs & (1u << (i-48)))) {
302  if (str) {
303  trginputs += " ";
304  trginputs += str->GetName();
305  trginputs += " ";
306  }
307  }
308 
309  }
310  return trginputs;
311 }
312 //______________________________________________________________________________
313 Bool_t AliESDHeader::IsTriggerInputFired(const char *name) const
314 {
315  // Checks if the trigger input is fired
316 
317  TNamed *trginput = (TNamed *)fTriggerInputsNames.FindObject(name);
318  if (trginput == 0) return kFALSE;
319 
320  Int_t inputIndex = fTriggerInputsNames.IndexOf(trginput);
321  if (inputIndex < 0) return kFALSE;
322 
323  if(inputIndex < 24){
324  if (fL0TriggerInputs & (1lu << inputIndex)) return kTRUE;
325  } else if(inputIndex < 48){
326  if (fL1TriggerInputs & (1lu << (inputIndex-24))) return kTRUE;
327  } else if(inputIndex < 60){
328  if (fL2TriggerInputs & (1u << (inputIndex-48))) return kTRUE;
329  }
330  else {
331  AliError(Form("Index (%d) is outside the allowed range (0,59)!",inputIndex));
332  return kFALSE;
333  }
334  return kFALSE;
335 }
336 //________________________________________________________________________________
337 Int_t AliESDHeader::GetTriggerIREntries(Int_t int1, Int_t int2, Float_t deltaTime) const
338 {
339  // returns number of IR-s within time window deltaTime
340  // all possible combinations of int1 and int2 int1 - zdc bit, int2 v0 bit
341  //
342  const AliTriggerIR *IR;
343  // triggered event
344  Int_t nIR = GetTriggerIREntries();
345  UInt_t orbit1 = GetOrbitNumber();
346  const Double_t ot=0.0889218; //orbit time msec
347  Float_t timediff; // time difference between orbits (msec)
348  //
349  Int_t nofIR;
350  nofIR=0;
351  // loop over IR-s
352  for(Int_t i=0;i<nIR;i++){//1
353  IR=GetTriggerIR(i);
354  //
355  UInt_t orbit2 = IR->GetOrbit();
356  timediff = (orbit2<=orbit1) ? (Float_t)((orbit1-orbit2))*ot :
357  (Float_t)((16777215-orbit1+orbit2))*ot;
358  if (timediff>deltaTime) continue; //timediff outside time window
359  if((int1&int2) == -1){ //ignore both bits, just count IR-s within time window
360  nofIR++;
361  continue;
362  }
363  // now check if int1, int2 bits are set
364  UInt_t nw = IR->GetNWord();
365  Bool_t *bint1 = IR->GetInt1s();
366  Bool_t *bint2 = IR->GetInt2s();
367  //
368  Int_t flag1,flag2;
369  flag1=0;
370  flag2=0;
371  for(UInt_t j=0;j<nw;j++){//2
372  if(bint1[j]) flag1=1; // at least one int1 set
373  if(bint2[j]) flag2=1; // at least one int2 set
374  //printf("IR %d, bint1 %d, bint2 %d\n",i,bint1[j],bint2[j]);
375  }//2
376  // checking combinations
377  //
378 
379  if((flag1*int1*flag2*int2)==1){// int1=1 & int2=1
380  nofIR++;
381  continue;
382  }
383  if(int1 == -1){// ignore int1
384  if(flag2&int2){// int2=1
385  nofIR++;
386  continue;
387  }
388  else if (!flag2&!int2){ //int2=0
389  nofIR++;
390  continue;
391  }
392  }
393 
394  if(int2 ==-1){//ignore int2
395  if(flag1&int1){//int1=1
396  nofIR++;
397  continue;
398  }
399  else if(!flag1&!int1){ //int1=0
400  nofIR++;
401  continue;
402  }
403  }
404 
405  if((flag1*int1)&!flag2&!int2){// int1=1, int2=0
406  nofIR++;
407  continue;
408  }
409 
410  if((int2*flag2)&!int1&!flag1){// int1=0, int2=1
411  nofIR++;
412  continue;
413  }
414 
415 
416 
417  }//1
418 
419  return nofIR;
420 }
421 //__________________________________________________________________________
422 TObjArray AliESDHeader::GetIRArray(Int_t int1, Int_t int2, Float_t deltaTime) const
423 {
424  //
425  // returns an array of IR-s within time window deltaTime
426  // all possible combinations of int1 and int2 int1 - zdc bit, int2 v0 bit
427  //
428  const AliTriggerIR *IR;
429  TObjArray arr;
430  // triggered event
431  Int_t nIR = GetTriggerIREntries();
432  UInt_t orbit1 = GetOrbitNumber();
433  const Double_t ot=0.0889218; //orbit time msec
434  Float_t timediff; // time difference between orbits (msec)
435  //
436  // loop over IR-s
437  for(Int_t i=0;i<nIR;i++){//1
438  IR=GetTriggerIR(i);
439  //
440  UInt_t orbit2 = IR->GetOrbit();
441  timediff = (orbit2<=orbit1) ? (Float_t)((orbit1-orbit2))*ot :
442  (Float_t)((16777215-orbit1+orbit2))*ot;
443  if (timediff>deltaTime) continue; //timediff outside time window
444  if((int1&int2) == -1){ //ignore both bits, just count IR-s within time window
445  arr.Add((AliTriggerIR*)IR); //add this IR
446  continue;
447  }
448  // now check if int1, int2 bits are set
449  UInt_t nw = IR->GetNWord();
450  Bool_t *bint1 = IR->GetInt1s();
451  Bool_t *bint2 = IR->GetInt2s();
452  //
453  Int_t flag1,flag2;
454  flag1=0;
455  flag2=0;
456  for(UInt_t j=0;j<nw;j++){//2
457  if(bint1[j]) flag1=1; // at least one int1 set
458  if(bint2[j]) flag2=1; // at least one int2 set
459  }//2
460  // checking combinations
461  //
462  if((flag1*int1*flag2*int2)==1){// int1=1 & int2=1
463  arr.Add((AliTriggerIR*)IR); //add this IR
464  continue;
465  }
466  if(int1 == -1){// ignore int1
467  if(flag2&int2){// int2=1
468  arr.Add((AliTriggerIR*)IR); //add this IR
469  continue;
470  }
471  else if (!flag2&!int2){ //int2=0
472  arr.Add((AliTriggerIR*)IR); //add this IR
473  continue;
474  }
475  }
476  if(int2 ==-1){//ignore int2
477  if(flag1&int1){//int1=1
478  arr.Add((AliTriggerIR*)IR); //add this IR
479  continue;
480  }
481  else if(!flag1&!int1){ //int1=0
482  arr.Add((AliTriggerIR*)IR); //add this IR
483  continue;
484  }
485  }
486  if ((flag1*int1)&!flag2&!int2){// int1=1, int2=0
487  arr.Add((AliTriggerIR*)IR); //add this IR
488  continue;
489  }
490  if ((int2*flag2)&!int1&!flag1){// int1=0, int2=1
491  arr.Add((AliTriggerIR*)IR); //add this IR
492  continue;
493  }
494 
495  }//1
496 
497  return arr;
498 }
499 
500 //__________________________________________________________________________
502 {
503  //
504  // Function to compute the map of interations
505  // within 0TVX (int2) or V0A&V0C (int1) and the Event Id
506  // Note, the zero value is excluded
507  //
509 
510  Long64_t orb = (Long64_t)GetOrbitNumber();
511  Long64_t bc = (Long64_t)GetBunchCrossNumber();
512 
513  Long64_t evId = orb*3564 + bc;
514 
515  for(Int_t i = 0; i < 5; ++i) {
516  if (ir[i] == NULL || ir[i]->GetNWord() == 0) continue;
517  Long64_t irOrb = (Long64_t)ir[i]->GetOrbit();
518  Bool_t* int2 = ir[i]->GetInt2s();
519  Bool_t* int1 = ir[i]->GetInt1s();
520  UShort_t* bcs = ir[i]->GetBCs();
521  for(UInt_t nW = 0; nW < ir[i]->GetNWord(); ++nW) {
522  Long64_t intId = irOrb*3564 + (Long64_t)bcs[nW];
523  if (int2[nW] == kTRUE) {
524  Int_t item = (intId-evId);
525  Int_t bin = FindIRIntInteractionsBXMap(item);
526  if(bin>=0) {
527  fIRInt2InteractionsMap.SetBitNumber(bin,kTRUE);
528  }
529  }
530  if (int1[nW] == kTRUE) {
531  Int_t item = (intId-evId);
532  Int_t bin = FindIRIntInteractionsBXMap(item);
533  if(bin>=0) {
534  fIRInt1InteractionsMap.SetBitNumber(bin,kTRUE);
535  }
536  }
537  }
538  }
539 
540  fIRInt2InteractionsMap.Compact();
541  fIRInt1InteractionsMap.Compact();
542 }
543 
544 //__________________________________________________________________________
545 Int_t AliESDHeader::FindIRIntInteractionsBXMap(Int_t difference) const
546 {
547  //
548  // The mapping is of 181 bits, from -90 to +90
549  //
550  Int_t bin=-1;
551 
552  if(difference<-90 || difference>90) return bin;
553  else { bin = 90 + difference; }
554 
555  return bin;
556 }
557 
558 //__________________________________________________________________________
560 {
561  //
562  // Calculation of the closest interaction
563  //
565 
566  Int_t firstNegative=100;
567  for(Int_t item=-1; item>=-90; item--) {
568  Int_t bin = FindIRIntInteractionsBXMap(item);
569  Bool_t isFired = fIRInt2InteractionsMap.TestBitNumber(bin);
570  if(isFired) {
571  firstNegative = item;
572  break;
573  }
574  }
575  Int_t firstPositive=100;
576  for(Int_t item=1; item<=90; item++) {
577  Int_t bin = FindIRIntInteractionsBXMap(item);
578  Bool_t isFired = fIRInt2InteractionsMap.TestBitNumber(bin);
579  if(isFired) {
580  firstPositive = item;
581  break;
582  }
583  }
584 
585  Int_t closest = firstPositive < TMath::Abs(firstNegative) ? firstPositive : TMath::Abs(firstNegative);
586  if(firstPositive==100 && firstNegative==100) closest=0;
587  return closest;
588 }
589 
590 //__________________________________________________________________________
592 {
593  //
594  // Calculation of the closest interaction
595  // In case of VZERO (Int1) one has to introduce a gap
596  // in order to avoid false positivies from after-pulses
597 
599 
600  Int_t firstNegative=100;
601  for(Int_t item=-1; item>=-90; item--) {
602  Int_t bin = FindIRIntInteractionsBXMap(item);
603  Bool_t isFired = fIRInt1InteractionsMap.TestBitNumber(bin);
604  if(isFired) {
605  firstNegative = item;
606  break;
607  }
608  }
609  Int_t firstPositive=100;
610  for(Int_t item=1+gap; item<=90; item++) {
611  Int_t bin = FindIRIntInteractionsBXMap(item);
612  Bool_t isFired = fIRInt1InteractionsMap.TestBitNumber(bin);
613  if(isFired) {
614  firstPositive = item;
615  break;
616  }
617  }
618 
619  Int_t closest = firstPositive < TMath::Abs(firstNegative) ? firstPositive : TMath::Abs(firstNegative);
620  if(firstPositive==100 && firstNegative==100) closest=0;
621  return closest;
622 }
623 
624 //__________________________________________________________________________
626 {
627  //
628  // Calculation of the last interaction
629  //
631 
632  Int_t lastNegative=0;
633  for(Int_t item=-90; item<=-1; item++) {
634  Int_t bin = FindIRIntInteractionsBXMap(item);
635  Bool_t isFired = fIRInt2InteractionsMap.TestBitNumber(bin);
636  if(isFired) {
637  lastNegative = item;
638  break;
639  }
640  }
641  Int_t lastPositive=0;
642  for(Int_t item=90; item>=1; item--) {
643  Int_t bin = FindIRIntInteractionsBXMap(item);
644  Bool_t isFired = fIRInt2InteractionsMap.TestBitNumber(bin);
645  if(isFired) {
646  lastPositive = item;
647  break;
648  }
649  }
650 
651  Int_t last = lastPositive > TMath::Abs(lastNegative) ? lastPositive : TMath::Abs(lastNegative);
652  return last;
653 }
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
Int_t fEventNumberInFile
Definition: AliESDHeader.h:109
Bool_t * GetInt2s() const
Definition: AliTriggerIR.h:48
TBits fIRInt2InteractionsMap
Definition: AliESDHeader.h:123
ULong64_t GetTriggerMask() const
Definition: AliESDHeader.h:75
AliTriggerConfiguration * fCTPConfig
Definition: AliESDHeader.h:121
AliESDHeader & operator=(const AliESDHeader &header)
AliTriggerScalersRecordESD fTriggerScalersDeltaRun
Definition: AliESDHeader.h:117
#define TObjArray
TObjArray GetIRArray(Int_t int1, Int_t int2, Float_t deltaTime=180.) const
void Print(const Option_t *opt=0) const
UInt_t fEventSpecie
Definition: AliESDHeader.h:107
AliTriggerIR * fIRArray[kNMaxIR]
Definition: AliESDHeader.h:119
UShort_t * GetBCs() const
Definition: AliTriggerIR.h:50
TString GetFiredTriggerInputs() const
UInt_t GetNWord() const
Definition: AliTriggerIR.h:45
UInt_t fL1TriggerInputs
Definition: AliESDHeader.h:113
TBits fIRInt1InteractionsMap
Definition: AliESDHeader.h:124
UInt_t fEventType
Definition: AliESDHeader.h:106
ULong64_t fTriggerMaskNext50
Definition: AliESDHeader.h:103
Int_t GetIRInt2ClosestInteractionMap() const
UShort_t fBunchCrossNumber
Definition: AliESDHeader.h:110
const AliTriggerIR * GetTriggerIR(Int_t i) const
Definition: AliESDHeader.h:60
Int_t GetIRInt1ClosestInteractionMap(Int_t gap=3) const
Int_t GetIRInt2LastInteractionMap() const
Int_t GetEventNumberInFile() const
Definition: AliESDHeader.h:82
Bool_t IsTriggerInputFired(const char *name) const
UInt_t fOrbitNumber
Definition: AliESDHeader.h:104
virtual void Copy(TObject &obj) const
ULong64_t fTriggerMask
Definition: AliESDHeader.h:102
AliTriggerScalersRecordESD fTriggerScalersDeltaEvent
Definition: AliESDHeader.h:116
void SetIRInteractionMap() const
UInt_t fTimeStamp
Definition: AliESDHeader.h:105
Bool_t AddTriggerIR(const AliTriggerIR *ir)
UInt_t GetOrbit() const
Definition: AliTriggerIR.h:44
Bool_t * GetInt1s() const
Definition: AliTriggerIR.h:47
virtual ~AliESDHeader()
AliTriggerScalersRecordESD fTriggerScalers
Definition: AliESDHeader.h:115
TString GetActiveTriggerInputs() const
void SetActiveTriggerInputs(const char *name, Int_t index)
ULong64_t GetTriggerMaskNext50() const
Definition: AliESDHeader.h:76
UInt_t GetOrbitNumber() const
Definition: AliESDHeader.h:78
TObjArray fTriggerInputsNames
Definition: AliESDHeader.h:120
UChar_t fTPCNoiseFilterCounter[3]
Definition: AliESDHeader.h:125
UShort_t GetBunchCrossNumber() const
Definition: AliESDHeader.h:83
#define AliError(message)
Definition: AliLog.h:591
TObjArray fIRBufferArray
Definition: AliESDHeader.h:122
UInt_t fPeriodNumber
Definition: AliESDHeader.h:108
const char * GetTriggerInputName(Int_t index, Int_t trglevel) const
UShort_t fL2TriggerInputs
Definition: AliESDHeader.h:114
Int_t GetTriggerIREntries() const
Definition: AliESDHeader.h:86
UChar_t fTriggerCluster
Definition: AliESDHeader.h:111
Int_t FindIRIntInteractionsBXMap(Int_t difference) const
AliVHeader & operator=(const AliVHeader &evt)
Definition: AliVHeader.cxx:36
UInt_t fL0TriggerInputs
Definition: AliESDHeader.h:112