ROOT logo
AliRoot » STEER » STEER » AliGRPPreprocessor

class AliGRPPreprocessor: public AliPreprocessor

                          Class AliGRPPreprocessor
                  Global Run Parameters (GRP) preprocessor
    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
    Modified: Ernesto.Lopez.Torres@cern.ch  CEADEN-CERN
    Modified: Chiara.Zampolli@cern.ch  CERN

Function Members (Methods)

public:
AliGRPPreprocessor(AliShuttleInterface* shuttle)
virtual~AliGRPPreprocessor()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
static THashList*ProcessAliases(const char* aliasesFile)
virtual Bool_tAliPreprocessor::ProcessDCS()
Bool_tAliPreprocessor::ProcessRunType()
virtual Int_tTObject::Read(const char* name)
static Int_tReceivePromptRecoParameters(UInt_t run, const char* dbHost, Int_t dbPort, const char* dbName, const char* user, const char* password, const char* cdbRoot, TString& gdc)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
voidAliPreprocessor::AddRunType(const char* runType)
Bool_tCheckFileRecords(const char* fileName) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
const char*AliPreprocessor::GetCTPTimeParams()
Bool_tGetDAQStartEndTimeOk() const
UInt_tAliPreprocessor::GetEndTimeDCSQuery()
const char*AliPreprocessor::GetFile(Int_t system, const char* id, const char* source)
TList*AliPreprocessor::GetFileIDs(Int_t system, const char* source)
TList*AliPreprocessor::GetFileSources(Int_t system, const char* id = 0)
const char*AliPreprocessor::GetForeignFile(const char* detector, Int_t system, const char* id, const char* source)
TList*AliPreprocessor::GetForeignFileSources(const char* detector, Int_t system, const char* id)
AliCDBEntry*AliPreprocessor::GetFromOCDB(const char* pathLevel2, const char* pathLevel3)
AliCDBEntry*AliPreprocessor::GetGeometryFromOCDB()
Bool_tAliPreprocessor::GetHLTStatus()
TString*AliPreprocessor::GetLTUConfig(const char* det)
AliDCSSensorArray*GetPressureMap(TMap* dcsAliasMap)
const char*AliPreprocessor::GetRunParameter(const char* param)
const char*AliPreprocessor::GetRunType()
AliSplineFit*GetSplineFit(const TObjArray* array, const TString& stringID)
UInt_tAliPreprocessor::GetStartTimeDCSQuery()
const char*AliPreprocessor::GetTriggerConfiguration()
const char*AliPreprocessor::GetTriggerDetectorMask()
virtual voidInitialize(Int_t run, UInt_t startTime, UInt_t endTime)
voidAliPreprocessor::Log(const char* message, UInt_t level = 3)
voidTObject::MakeZombie()
TStringParseBeamTypeString(TString beamType, Int_t iBeamType)
virtual UInt_tProcess(TMap* valueSet)
Char_tProcessBool(const TObjArray* array, Bool_t& change)
TStringProcessChar(const TObjArray* array)
UInt_tProcessDaqFxs()
Int_tProcessDaqLB(AliGRPObject* grpobj)
Int_tProcessDcsDPs(TMap* valueSet, AliGRPObject* grpobj)
UInt_tProcessDcsFxs(TString partition = "", TString detector = "")
Int_tProcessDipoleDPs(const TMap* valueSet, AliGRPObject* grpobj)
UInt_tProcessDqmFxs()
Float_tProcessEnergy(TObjArray* array, Double_t timeStart)
Int_tProcessEnvDPs(TMap* valueSet, AliGRPObject* grpobj)
Float_t*ProcessFloatAll(const TObjArray* array)
Float_t*ProcessFloatAllMagnet(const TObjArray* array, Int_t indexDP, Bool_t& isZero)
Int_tProcessHPDPs(const TMap* valueSet, AliGRPObject* grpobj)
Float_tProcessInt(const TObjArray* array)
Int_tProcessL3DPs(const TMap* valueSet, AliGRPObject* grpobj)
AliLHCClockPhase*ProcessLHCClockPhase(TObjArray* beam1phase, TObjArray* beam2phase, Double_t timeEnd)
UInt_tProcessLHCData(AliGRPObject* grpobj)
UInt_tProcessSPDMeanVertex()
Float_tProcessUInt(const TObjArray* array)
voidAliPreprocessor::SendToML(const char*)
voidSetDAQStartEndTimeOk(Bool_t daqStartEndTimeOk)
Bool_tAliPreprocessor::Store(const char* pathLevel2, const char* pathLevel3, TObject* object, AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE)
Bool_tAliPreprocessor::StoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object, AliCDBMetaData* metaData)
Bool_tAliPreprocessor::StoreReferenceFile(const char* localFile, const char* gridFileName)
Bool_tAliPreprocessor::StoreRunMetadataFile(const char* localFile, const char* gridFileName)

Data Members

public:
enum DP { kL3Polarity
kDipolePolarity
kL3Current
kDipoleCurrent
kL3bsf17H1
kL3bsf17H2
kL3bsf17H3
kL3bsf17Temperature
kL3bsf4H1
kL3bsf4H2
kL3bsf4H3
kL3bsf4Temperature
kL3bkf17H1
kL3bkf17H2
kL3bkf17H3
kL3bkf17Temperature
kL3bkf4H1
kL3bkf4H2
kL3bkf4H3
kL3bkf4Temperature
kL3bsf13H1
kL3bsf13H2
kL3bsf13H3
kL3bsf13Temperature
kL3bsf8H1
kL3bsf8H2
kL3bsf8H3
kL3bsf8Temperature
kL3bkf13H1
kL3bkf13H2
kL3bkf13H3
kL3bkf13Temperature
kL3bkf8H1
kL3bkf8H2
kL3bkf8H3
kL3bkf8Temperature
kDipoleInsideH1
kDipoleInsideH2
kDipoleInsideH3
kDipoleInsideTemperature
kDipoleOutsideH1
kDipoleOutsideH2
kDipoleOutsideH3
kDipoleOutsideTemperature
kCavernTemperature
kCavernAtmosPressure
kSurfaceAtmosPressure
kCavernAtmosPressure2
};
enum DPHallProbes { khpL3bsf17H1
khpL3bsf17H2
khpL3bsf17H3
khpL3bsf17Temperature
khpL3bsf4H1
khpL3bsf4H2
khpL3bsf4H3
khpL3bsf4Temperature
khpL3bkf17H1
khpL3bkf17H2
khpL3bkf17H3
khpL3bkf17Temperature
khpL3bkf4H1
khpL3bkf4H2
khpL3bkf4H3
khpL3bkf4Temperature
khpL3bsf13H1
khpL3bsf13H2
khpL3bsf13H3
khpL3bsf13Temperature
khpL3bsf8H1
khpL3bsf8H2
khpL3bsf8H3
khpL3bsf8Temperature
khpL3bkf13H1
khpL3bkf13H2
khpL3bkf13H3
khpL3bkf13Temperature
khpL3bkf8H1
khpL3bkf8H2
khpL3bkf8H3
khpL3bkf8Temperature
khpDipoleInsideH1
khpDipoleInsideH2
khpDipoleInsideH3
khpDipoleInsideTemperature
khpDipoleOutsideH1
khpDipoleOutsideH2
khpDipoleOutsideH3
khpDipoleOutsideTemperature
};
enum AliPreprocessor::[unnamed] { kDAQ
kDCS
kHLT
kDQM
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
UInt_tAliPreprocessor::fEndTimeendtime of current run
TStringTNamed::fNameobject identifier
Int_tAliPreprocessor::fRuncurrent run
UInt_tAliPreprocessor::fStartTimestarttime of current run
TStringTNamed::fTitleobject title
private:
AliDCSSensorArray*fPressurepressure array
Bool_tfdaqStartEndTimeOkflag to set whether the DAQ_time_start/end fields are set
TObjArray*ffailedDPsTObjArray of failed DPs names
static const Int_tfgkDCSDPHallTopShift! shift from the top to the Hall Probes from the list of DCS DPs names
static const Int_tfgkDCSDPNonWorking! Number of non working DCS DPs
static const char*fgkDCSDataPoints[2147483647]! names of dcs dps
static const char*fgkDCSDataPointsHallProbes[2147483647]! names of dcs dps for Hall Probes
static const char*fgkLHCDataPoints[2147483647]! names of lhc dps
static const Int_tfgknDAQLbPar! number of DAQ lb parameters for PHYSICS runs
static const Int_tfgknDCSDP! number of dcs dps
static const Int_tfgknDCSDPHallProbes! number of Hall Probes
static const Int_tfgknLHCDP! number of lhc dps
Double_tfmaxDoublemaximum double accepted
Float_tfmaxFloatmaximum float accepted
Int_tfmaxIntmaximum int accepted
UInt_tfmaxUIntmaximum uint accepted
Double_tfminDoubleminimum double accepted
Float_tfminFloatminimum float accepted
Int_tfminIntminimum int accepted
UInt_tfminUIntminimum uint accepted

Class Charts

Inheritance Chart:
TNamed
AliPreprocessor
AliGRPPreprocessor

Function documentation

AliGRPPreprocessor(AliShuttleInterface* shuttle)
 constructor - shuttle must be instantiated!
~AliGRPPreprocessor()
destructor
void Initialize(Int_t run, UInt_t startTime, UInt_t endTime)
 Initialize preprocessor
UInt_t Process(TMap* valueSet)
 process data retrieved by the Shuttle
UInt_t ProcessLHCData(AliGRPObject* grpobj)
Getting the LHC Data from DCS FXS

UInt_t ProcessSPDMeanVertex()
Getting the SPD Mean Vertex

UInt_t ProcessDqmFxs()
 Processing DQM fxs information

Int_t ProcessDaqLB(AliGRPObject* grpobj)
Getting the DAQ lb information
UInt_t ProcessDaqFxs()
DAQ FXS
UInt_t ProcessDcsFxs(TString partition = "", TString detector = "")
THashList* ProcessAliases(const char* aliasesFile)
Int_t ProcessDcsDPs(TMap* valueSet, AliGRPObject* grpobj)
Int_t ProcessL3DPs(const TMap* valueSet, AliGRPObject* grpobj)
Int_t ProcessDipoleDPs(const TMap* valueSet, AliGRPObject* grpobj)
 processing DPs
 related to
 the Dipole info
Int_t ProcessEnvDPs(TMap* valueSet, AliGRPObject* grpobj)
 processing DPs
 related to
 evironment conditions (temperature, pressure) info
Int_t ProcessHPDPs(const TMap* valueSet, AliGRPObject* grpobj)
 processing DPs
 related to
 Hall Probes info
AliSplineFit* GetSplineFit(const TObjArray* array, const TString& stringID)
TString ProcessChar(const TObjArray* array)
Float_t* ProcessFloatAll(const TObjArray* array)
 processing Float values using Mean, Median, Standard Deviation wrt Mean, Standar Deviation wrt Median

 parameters[0] = mean
 parameters[1] = truncated mean (calculated excluding points outside +/- 3RMS from mean
 parameters[2] = median
 parameters[3] = standard deviation wrt mean
 parameters[4] = standard deviation wrt median

Float_t* ProcessFloatAllMagnet(const TObjArray* array, Int_t indexDP, Bool_t& isZero)
 processing Float values using Mean, Median, Standard Deviation wrt Mean, Standar Deviation wrt Median
 used for L3 and Dipole magnets, using isZero flag to decide whther the magnet was OFF/ON
 the flag is set according to the L3/Dipole current value
 current threshold for L3 = 350 A (value provided by DCS)
 current threshold for Dipole = 450 A (value provided by DCS)

 parameters[0] = mean
 parameters[1] = truncated mean (calculated excluding points outside +/- 3RMS from mean
 parameters[2] = median
 parameters[3] = standard deviation wrt mean
 parameters[4] = standard deviation wrt median

Char_t ProcessBool(const TObjArray* array, Bool_t& change)
 processing Boolean values

Float_t ProcessInt(const TObjArray* array)
 processing Int values, returning mean
 AliGRPObject::GetInvalidFloat() is returned if any of the DCS values
 are outside the queried time interval or their value is out of range

Float_t ProcessUInt(const TObjArray* array)
 processing Int values, returning mean
 AliGRPObject::GetInvalidFloat() is returned if any of the DCS values
 are outside the queried time interval or their value is out of range

AliDCSSensorArray * GetPressureMap(TMap* dcsAliasMap)
 extract DCS pressure maps. Perform fits to save space
Int_t ReceivePromptRecoParameters(UInt_t run, const char* dbHost, Int_t dbPort, const char* dbName, const char* user, const char* password, const char* cdbRoot, TString& gdc)
 Retrieves logbook and trigger information from the online logbook
 This information is needed for prompt reconstruction

 Parameters are:
 Run number
 DAQ params: dbHost, dbPort, dbName, user, password, logbookTable, triggerTable
 cdbRoot

 returns:
         positive on success: the return code is the run number of last run processed of the same run type already processed by the SHUTTLE
         0 on success and no run was found
         negative on error

 This function is NOT called during the preprocessor run in the Shuttle!

Float_t ProcessEnergy(TObjArray* array, Double_t timeStart)
AliLHCClockPhase* ProcessLHCClockPhase(TObjArray* beam1phase, TObjArray* beam2phase, Double_t timeEnd)
 Method to process LHC-Clock Phase data
 Only the values between DAQ_time_start and DAQ_time_end are kept

TString ParseBeamTypeString(TString beamType, Int_t iBeamType)
 Method to return the convention for the separate beam type
 in the form A*1000+Z
 e.g.: Pb82 --> 208000 + 82 = 208082
       p --> 1000 + 1 = 1001
Bool_t CheckFileRecords(const char* fileName) const
 Check file logical records as in TFile::Map()
 returning false in case the position of the final record is bigger than the file size
 It should allow to mark as bad all and only raw tag files which would crash the chaining
 done in ProcessDaqFxs

AliGRPPreprocessor(AliShuttleInterface* shuttle)
Bool_t GetDAQStartEndTimeOk() const
void SetDAQStartEndTimeOk(Bool_t daqStartEndTimeOk)
{fdaqStartEndTimeOk = daqStartEndTimeOk;}
AliGRPPreprocessor& operator=(const AliGRPPreprocessor& )