]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/STEER/AliLHCData.cxx
Flag Secondaries from Weak decays and Material also for sub events
[u/mrichter/AliRoot.git] / STEER / STEER / AliLHCData.cxx
index 8686ffcf49692b9dfbc283a0b798801f8894be8d..0584a479ed4887943088a7e2da0cdc1ad780fff2 100755 (executable)
@@ -258,9 +258,9 @@ TObjArray* AliLHCData::GetDCSEntry(const char* key,int &entry,int &last,double t
   if (!found) {\r
     entry = -1;\r
     TString str;\r
-    str += AliLHCDipValD::TimeAsString(tmin);\r
+    str += AliLHCDipValF::TimeAsString(tmin);\r
     str += " : ";\r
-    str += AliLHCDipValD::TimeAsString(tmax);\r
+    str += AliLHCDipValF::TimeAsString(tmax);\r
     AliWarning(Form("All entries for %s are outside the requested range:\n%s",key,str.Data()));\r
     if (fkMap2Process) delete arr; // created on demand\r
     return 0;\r
@@ -355,7 +355,7 @@ Int_t AliLHCData::FillScalarRecord(int refs[2], const char* rec, const char* rec
     AliDCSArray *dcsVal = (AliDCSArray*) arr->At(iFirst++);\r
     double tstamp = dcsVal->GetTimeStamp();\r
     //\r
-    AliLHCDipValD* curValD = new AliLHCDipValD(dim,tstamp);  // start new period\r
+    AliLHCDipValF* curValD = new AliLHCDipValF(dim,tstamp);  // start new period\r
     double vcheck = ExtractDouble(dcsVal,0);     // value\r
     if (TMath::Abs(vcheck) > maxAbsVal) {\r
       AliError(Form("ANOMALOUS VALUE %e for slot %d of %s: exceeds %e",vcheck, 0, rec, maxAbsVal));\r
@@ -540,7 +540,7 @@ Int_t AliLHCData::FillBunchInfo(int refs[2],const char* rec, int ibm, Bool_t inR
       continue;\r
     }\r
     double* dcsArr = dcsVal->GetDouble();\r
-    AliLHCDipValD* curValD = new AliLHCDipValD(nbunch,tstamp);\r
+    AliLHCDipValF* curValD = new AliLHCDipValF(nbunch,tstamp);\r
     for (int i=nbunch;i--;) {\r
       int ind = inRealSlots ? (*bconf)[i]/10 : i;\r
       if (ind>nSlots) {\r
@@ -613,7 +613,7 @@ Int_t AliLHCData::FillBCLuminosities(int refs[2],const char* rec, const char* re
       arrE=GetDCSEntry(recErr,iFirstE,iLastE,fTMin,fTMax);\r
       dim += 1;\r
     }\r
-    AliLHCDipValD* curValD = new AliLHCDipValD(dim,tstamp);\r
+    AliLHCDipValF* curValD = new AliLHCDipValF(dim,tstamp);\r
     int cnt = 0;\r
     for (int i=0;i<nbunch;i++) {\r
       int slot = (*bconf)[i];\r
@@ -998,9 +998,18 @@ Int_t AliLHCData::GetMeanIntensity(int beamID, Double_t &colliding, Double_t &no
   //\r
   for (int irec=0;irec<nrec;irec++) {\r
     //\r
-    AliLHCDipValD* rInt = GetIntensityPerBunch(beamID,irec);\r
+    AliLHCDipValD* rIntD = 0;\r
+    AliLHCDipValF* rIntF = GetIntensityPerBunch(beamID,irec);\r
+    // for BWD compatibility of some periods\r
+    if (rIntF->IsA() == AliLHCDipValD::Class()) {rIntD=(AliLHCDipValD*)rIntF; rIntF=0;}\r
+    if (!rIntF && !rIntD) {\r
+      AliError(Form("Failed to get GetIntensityPerBunch(%d,%d)",beamID,irec));\r
+      continue;\r
+    }\r
     for (int ib=0;ib<nb;ib++) {\r
-      double val = rInt->GetValue(ib);\r
+      double val = 0;\r
+      if (rIntF) val = rIntF->GetValue(ib);\r
+      else if (rIntD) val = rIntD->GetValue(ib);\r
       if (val<0) continue;\r
       int bID = conf->GetValue(ib);\r
       // check if this is a triggered bunch\r