CMS 3D CMS Logo

Public Member Functions | Private Attributes

iovInspector::Iov Class Reference

List of all members.

Public Member Functions

def __init__
def comment
def list
def payLoad
def payloadClasses
def payloadSummaries
def revision
def summaries
def timestamp
def timetype
def trend
def trendinrange

Private Attributes

 __comment
 __db
 __me
 __modName
 __payloadClasses
 __revision
 __tag
 __timestamp
 __timetype

Detailed Description

Definition at line 58 of file iovInspector.py.


Constructor & Destructor Documentation

def iovInspector::Iov::__init__ (   self,
  db,
  tag,
  since = 0,
  till = 0,
  head = 0,
  tail = 0 
)

Definition at line 59 of file iovInspector.py.

00060                                                                     :
00061            self.__db = db
00062            self.__tag = tag
00063            self.__db.startReadOnlyTransaction()
00064            try : 
00065                self.__modName = str(db.payloadModules(tag)[0])
00066                Plug = __import__(self.__modName)
00067            except RuntimeError :
00068                self.__modName = 0
00069            iov = db.iov(tag)
00070            #the __me data member is always an IOVRange
00071            #the IOVSequence is used in the ctor only
00072            self.__me = iov.range(iov.firstSince(), iov.lastTill())
00073            if (till) : self.__me = iov.range(since,till)
00074            if (head) : self.__me = iov.head(head)
00075            if (tail) : self.__me = iov.tail(tail)
00076            self.__timetype = iov.timetype()
00077            self.__comment = iov.comment()
00078            self.__revision = iov.revision()
00079            self.__timestamp = CondDB.unpackTime(iov.timestamp())
00080            self.__payloadClasses = list(iov.payloadClasses())
00081            self.__db.commitTransaction()


Member Function Documentation

def iovInspector::Iov::comment (   self)

Definition at line 152 of file iovInspector.py.

00153                         :
           return self.__comment
def iovInspector::Iov::list (   self)

Definition at line 82 of file iovInspector.py.

00083                       :
00084            ret = []
00085            for elem in self.__me.elements :
00086                ret.append( (elem.payloadToken(), elem.since(), elem.till(),0))
00087            return ret
    
def iovInspector::Iov::payLoad (   self,
  since 
)

Definition at line 160 of file iovInspector.py.

00161                                :
00162            listOfIovElem= [iovElem for iovElem in self.__me.elements if iovElem.since() == since]
00163            IOVElem = listOfIovElem[0]
00164            self.__db.startReadOnlyTransaction()
00165            Plug = __import__(self.__modName)
00166            payload = Plug.Object(self.__db)
00167            payload.load(IOVElem)
00168            self.__db.commitTransaction()
00169            #print payload
00170            return payload
00171               
              
def iovInspector::Iov::payloadClasses (   self)

Definition at line 158 of file iovInspector.py.

00159                                :
           return self.__payloadClasses
def iovInspector::Iov::payloadSummaries (   self)

Definition at line 88 of file iovInspector.py.

00089                                  :
00090            ret = []
00091            self.__db.startReadOnlyTransaction()
00092            Plug = __import__(self.__modName)
00093            payload = Plug.Object(self.__db)
00094            for elem in self.__me.elements:
00095               payloadtoken=elem.payloadToken()
00096               payload.load(elem)
00097               ret.append(payload.summary())
00098            self.__db.commitTransaction()
00099            return ret
           
def iovInspector::Iov::revision (   self)

Definition at line 154 of file iovInspector.py.

00155                          :
           return self.__revision
def iovInspector::Iov::summaries (   self)

Definition at line 100 of file iovInspector.py.

00101                            :
00102            if (self.__modName==0) : return ["no plugin for "  + self.__tag+" no summaries"]
00103            self.__db.startReadOnlyTransaction()
00104            Plug = __import__(self.__modName)
00105            ret = []
00106            p = Plug.Object(self.__db)
00107            for elem in self.__me.elements :
00108                p.load(elem)
00109                ret.append( (elem.payloadToken(), elem.since(), elem.till(), p.summary()))
00110            self.__db.commitTransaction()
00111            return ret
           
def iovInspector::Iov::timestamp (   self)

Definition at line 156 of file iovInspector.py.

00157                           :
           return self.__timestamp
def iovInspector::Iov::timetype (   self)

Definition at line 150 of file iovInspector.py.

00151                          :
           return  self.__timetype
def iovInspector::Iov::trend (   self,
  what 
)

Definition at line 112 of file iovInspector.py.

00113                              :
00114            if (self.__modName==0) : return ["no plugin for "  + self.__tag+" no trend"]
00115            self.__db.startReadOnlyTransaction()
00116            Plug = __import__(self.__modName)
00117            ret = []
00118            w = setWhat(Plug.What(),what)
00119            ex = Plug.Extractor(w)
00120            p = Plug.Object(self.__db)
00121            for elem in self.__me.elements :
00122                p.load(elem)
00123                p.extract(ex)
00124                v = [i for i in ex.values()]
00125                ret.append((elem.since(),elem.till(),v))
00126            self.__db.commitTransaction()
00127            return ret
    
def iovInspector::Iov::trendinrange (   self,
  what,
  head,
  tail 
)
extract trend in the given range. the input parameters are in 64bit integer format. Users should pack the timestamp or lumiid before calling this method

Definition at line 128 of file iovInspector.py.

00129                                                 :
00130            '''extract trend in the given range. the input parameters are in 64bit integer format. Users should pack the timestamp or lumiid before calling this method
00131            '''
00132            if (self.__modName==0) : return ["no plugin for "  + self.__tag+" no trend"]
00133            self.__db.startReadOnlyTransaction()
00134            Plug = __import__(self.__modName)
00135            ret = []
00136            w = setWhat(Plug.What(),what)
00137            ex = Plug.Extractor(w)
00138 
00139            p = Plug.Object(self.__db)
00140            for elem in self.__me.elements :
00141                   since = elem.since()
00142                   till = elem.till()
00143                   if (head < since < tail) or (since < head < till) or (since < tail < till):
00144                          p.load(elem)
00145                          p.extract(ex)
00146                          v = [i for i in ex.values()]
00147                          ret.append((elem.since(),elem.till(),v))
00148            self.__db.commitTransaction()
00149            return ret
    

Member Data Documentation

Definition at line 59 of file iovInspector.py.

Definition at line 59 of file iovInspector.py.

Definition at line 59 of file iovInspector.py.

Definition at line 59 of file iovInspector.py.

Definition at line 59 of file iovInspector.py.

Definition at line 59 of file iovInspector.py.

Definition at line 59 of file iovInspector.py.

Definition at line 59 of file iovInspector.py.

Definition at line 59 of file iovInspector.py.