36 fTriggerMaskNext50(0),
42 fEventNumberInFile(0),
49 fTriggerScalersDeltaEvent(),
50 fTriggerScalersDeltaRun(),
51 fTriggerInputsNames(kNTriggerInputs),
54 fIRInt2InteractionsMap(0),
55 fIRInt1InteractionsMap(0)
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);
100 for(Int_t i = 0; i<
kNMaxIR ; i++) {
150 for(Int_t i = 0; i<
kNMaxIR ; i++) {
172 if(
this==&obj)
return;
226 printf(
"Event # %d in file Bunch crossing # %d Orbit # %d Trigger %lld %lld\n",
232 printf(
"List of the active trigger inputs: ");
235 if (str)
printf(
"%i %s ",i,str->GetName());
246 AliError(Form(
"Index (%d) is outside the allowed range (0,59)!",index));
257 TNamed *trginput = 0;
261 if (trginput)
return trginput->GetName();
273 trginputs += str->GetName();
290 trginputs += str->GetName();
297 trginputs += str->GetName();
304 trginputs += str->GetName();
318 if (trginput == 0)
return kFALSE;
321 if (inputIndex < 0)
return kFALSE;
325 }
else if(inputIndex < 48){
327 }
else if(inputIndex < 60){
331 AliError(Form(
"Index (%d) is outside the allowed range (0,59)!",inputIndex));
346 const Double_t ot=0.0889218;
352 for(Int_t i=0;i<nIR;i++){
356 timediff = (orbit2<=orbit1) ? (Float_t)((orbit1-orbit2))*ot :
357 (Float_t)((16777215-orbit1+orbit2))*ot;
358 if (timediff>deltaTime)
continue;
359 if((int1&int2) == -1){
371 for(UInt_t j=0;j<nw;j++){
372 if(bint1[j]) flag1=1;
373 if(bint2[j]) flag2=1;
379 if((flag1*int1*flag2*int2)==1){
388 else if (!flag2&!int2){
399 else if(!flag1&!int1){
405 if((flag1*int1)&!flag2&!int2){
410 if((int2*flag2)&!int1&!flag1){
433 const Double_t ot=0.0889218;
437 for(Int_t i=0;i<nIR;i++){
441 timediff = (orbit2<=orbit1) ? (Float_t)((orbit1-orbit2))*ot :
442 (Float_t)((16777215-orbit1+orbit2))*ot;
443 if (timediff>deltaTime)
continue;
444 if((int1&int2) == -1){
456 for(UInt_t j=0;j<nw;j++){
457 if(bint1[j]) flag1=1;
458 if(bint2[j]) flag2=1;
462 if((flag1*int1*flag2*int2)==1){
471 else if (!flag2&!int2){
481 else if(!flag1&!int1){
486 if ((flag1*int1)&!flag2&!int2){
490 if ((int2*flag2)&!int1&!flag1){
513 Long64_t evId = orb*3564 + bc;
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();
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);
530 if (int1[nW] == kTRUE) {
531 Int_t item = (intId-evId);
552 if(difference<-90 || difference>90)
return bin;
553 else { bin = 90 + difference; }
566 Int_t firstNegative=100;
567 for(Int_t item=-1; item>=-90; item--) {
571 firstNegative = item;
575 Int_t firstPositive=100;
576 for(Int_t item=1; item<=90; item++) {
580 firstPositive = item;
585 Int_t closest = firstPositive < TMath::Abs(firstNegative) ? firstPositive : TMath::Abs(firstNegative);
586 if(firstPositive==100 && firstNegative==100) closest=0;
600 Int_t firstNegative=100;
601 for(Int_t item=-1; item>=-90; item--) {
605 firstNegative = item;
609 Int_t firstPositive=100;
610 for(Int_t item=1+gap; item<=90; item++) {
614 firstPositive = item;
619 Int_t closest = firstPositive < TMath::Abs(firstNegative) ? firstPositive : TMath::Abs(firstNegative);
620 if(firstPositive==100 && firstNegative==100) closest=0;
632 Int_t lastNegative=0;
633 for(Int_t item=-90; item<=-1; item++) {
641 Int_t lastPositive=0;
642 for(Int_t item=90; item>=1; item--) {
651 Int_t last = lastPositive > TMath::Abs(lastNegative) ? lastPositive : TMath::Abs(lastNegative);
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
Bool_t * GetInt2s() const
UShort_t * GetBCs() const
Bool_t * GetInt1s() const
#define AliError(message)