Ejemplo n.º 1
0
    def generateFilter(self):
        self.filter = {}

        self.filter.setdefault("dataset", {})\
                                          .setdefault("rowClass", "org.cern.cms.dqm.runregistry.user.model.RunDatasetRowGlobal")

        for qf in self.qflist:
            (sys,value) = qf.split(':')
            if self.verbose: print qf
            if sys != "NONE":
                # Check if the bit is not excluded to avoide filter on LS for Egamma, Muon, JetMET
                if len([i for i in self.EXCL_LS_BITS if i == sys.lower()]) == 0:
                    self.filter.setdefault(sys.lower()+"Status", self.qry[value])
                self.filter.setdefault("dataset", {})\
                                                  .setdefault("filter", {})\
                                                  .setdefault(sys.lower(), {})\
                                                  .setdefault("status", " = %s" % value)
        if self.nolowpu == "True":
            print "Removing low pile-up runs"
            self.filter.setdefault("lowLumiStatus", "isNull OR = false")

        for dcs in self.dcslist:
            if dcs != "NONE":
                self.filter.setdefault(dcs.lower()+"Ready", "isNull OR  = true")
                if self.verbose: print dcs
            
        if self.online:
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("datasetName", "like %s" % Certifier.OnlineRX)
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("online", " = true")
        else:
            datasetQuery = ''
            for i in self.dataset.split(): 
                datasetQuery += ' like "%s" OR' % i.split(":")[0]
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("datasetName", " like %s" % datasetQuery)

        self.filter.setdefault("runNumber", ">= %d AND <= %d " %(int(self.runmin), int(self.runmax)))
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("runClassName", self.group)
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("run", {})\
                                          .setdefault("rowClass", "org.cern.cms.dqm.runregistry.user.model.RunSummaryRowGlobal")
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("run", {})\
                                          .setdefault("filter",{})\
                                          .setdefault("bfield", "> %.1f" % self.bfield)
        self.filter.setdefault("cmsActive", "isNull OR = true")

        for comp in self.component:
             if comp != 'NONE':
                 self.filter.setdefault("dataset", {})\
                                                   .setdefault("filter", {})\
                                                   .setdefault("run", {})\
                                                   .setdefault("filter",{})\
                                                   .setdefault(comp.lower()+"Present", " = true")

        if len(self.dsstate):
            self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("datasetState", " = %s"  % self.dsstate)
        if len(self.beamene):

            eneQuery = '{lhcEnergy} IS NULL OR {lhcEnergy} = 0 '
            for e in self.beamene:
                energyLow = e - 400 
                if energyLow < 0:
                    energyLow = 0
                energyHigh = e + 400 
                eneQuery += 'OR ( {lhcEnergy} >= %.1d AND {lhcEnergy} <= %.1d) ' % (energyLow, energyHigh)
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("run", {})\
                                              .setdefault("query", eneQuery)
        
        if self.verbose:
            print json.dumps(self.filter)
    def generateFilter(self):
        self.filter = {}

        self.filter.setdefault("dataset", {})\
                                          .setdefault("rowClass", "org.cern.cms.dqm.runregistry.user.model.RunDatasetRowGlobal")

        for qf in self.qflist:
            (sys,value) = qf.split(':')
            if self.verbose: print qf
            if sys != "NONE":
                if sys.lower() == 'tracker':                
                    self.filter.setdefault('trackStatus', self.qry[value])
                else:
                    self.filter.setdefault(sys.lower()+"Status", self.qry[value])                
                if sys.lower() != 'lumi':                
                    self.filter.setdefault("dataset", {})\
                                                      .setdefault("filter", {})\
                                                      .setdefault(sys.lower(), {})\
                                                      .setdefault("status", " = %s" % value)
        for dcs in self.dcslist:
            self.filter.setdefault(dcs.lower()+"Ready", "isNull OR  = true")
            if self.verbose: print dcs
            
        if self.online:
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("datasetName", "like %s" % Certifier.OnlineRX)
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("online", " = true")
        else:
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("datasetName", " like %s" % self.dataset.split(":")[0])

        self.filter.setdefault("runNumber", ">= %d AND <= %d " %(int(self.runmin), int(self.runmax)))
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("runClassName", self.group)
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("run", {})\
                                          .setdefault("rowClass", "org.cern.cms.dqm.runregistry.user.model.RunSummaryRowGlobal")
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("run", {})\
                                          .setdefault("filter",{})\
                                          .setdefault("bfield", "> %.1f" % self.bfield)
        self.filter.setdefault("cmsActive", "isNull OR = true")
        if len(self.dsstate):
            self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("datasetState", " = %s"  % self.dsstate)
        if len(self.beamene):

            eneQuery = '{lhcEnergy} IS NULL OR {lhcEnergy} = 0 '
            for e in self.beamene:
                energyLow = e - 400 
                if energyLow < 0:
                    energyLow = 0
                energyHigh = e + 400 
                eneQuery += 'OR ( {lhcEnergy} >= %.1d AND {lhcEnergy} <= %.1d) ' % (energyLow, energyHigh)
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("run", {})\
                                              .setdefault("query", eneQuery)
        
        if self.verbose:
            print json.dumps(self.filter)
Ejemplo n.º 3
0
    def generateFilter(self):
        self.filter = {}

        self.filter.setdefault("dataset", {})\
                                          .setdefault("rowClass", "org.cern.cms.dqm.runregistry.user.model.RunDatasetRowGlobal")

        for qf in self.qflist:
            (sys, value) = qf.split(':')
            if self.verbose: print qf
            if sys != "NONE":
                # Check if the bit is not excluded to avoide filter on LS for Egamma, Muon, JetMET
                if len([i for i in self.EXCL_LS_BITS
                        if i == sys.lower()]) == 0:
                    self.filter.setdefault(sys.lower() + "Status",
                                           self.qry[value])
                # Check run flag
                if (self.EXCL_RUN_BITS != sys.lower()):
                    self.filter.setdefault("dataset", {})\
                                                  .setdefault("filter", {})\
                                                  .setdefault(sys.lower(), {})\
                                                  .setdefault("status", " = %s" % value)

        if self.nolowpu == "True":
            print "Removing low pile-up runs"
            self.filter.setdefault("lowLumiStatus", "isNull OR = false")
        else:
            print "Selecting ONLY low pile-up runs"
            self.filter.setdefault("lowLumiStatus", "true")

        for dcs in self.dcslist:
            if dcs != "NONE":
                self.filter.setdefault(dcs.lower() + "Ready",
                                       "isNull OR  = true")
                #                self.filter.setdefault(dcs.lower(), "isNull OR  = true")
                if self.verbose: print dcs

        if self.useBeamPresent == "True":
            print "Removing LS with no beam present"
            self.filter.setdefault("beam1Present", "isNull OR  = true")
            self.filter.setdefault("beam2Present", "isNull OR  = true")

        if self.useBeamStable == "True":
            print "Removing LS with non-stable beams"
            self.filter.setdefault("beam1Stable", "isNull OR  = true")
            self.filter.setdefault("beam2Stable", "isNull OR  = true")

        if self.online:
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("datasetName", "like %s" % Certifier.OnlineRX)
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("online", " = true")
        else:
            datasetQuery = ''
            for i in self.dataset.split():
                datasetQuery += ' like "%s" OR' % i.split(":")[0]
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("datasetName", " like %s" % datasetQuery)

        self.filter.setdefault(
            "runNumber",
            ">= %d AND <= %d " % (int(self.runmin), int(self.runmax)))
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("runClassName", self.group)
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("run", {})\
                                          .setdefault("rowClass", "org.cern.cms.dqm.runregistry.user.model.RunSummaryRowGlobal")
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("run", {})\
                                          .setdefault("filter",{})\
                                          .setdefault("bfield", "> %.1f AND <  %.1f " % (self.bfield_min, self.bfield_max) )

        if self.group.startswith("Collisions"):
            self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("run", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("injectionScheme", " like %s " % self.injection )

        self.filter.setdefault("cmsActive", "isNull OR = true")

        for comp in self.component:
            if comp != 'NONE':
                self.filter.setdefault("dataset", {})\
                                                  .setdefault("filter", {})\
                                                  .setdefault("run", {})\
                                                  .setdefault("filter",{})\
                                                  .setdefault(comp.lower()+"Present", " = true")

        if len(self.dsstate):
            self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("datasetState", " = %s"  % self.dsstate)
        if len(self.beamene):

            eneQuery = '{lhcEnergy} IS NULL OR {lhcEnergy} = 0 '
            for e in self.beamene:
                energyLow = e - 400
                if energyLow < 0:
                    energyLow = 0
                energyHigh = e + 400
                eneQuery += 'OR ( {lhcEnergy} >= %.1d AND {lhcEnergy} <= %.1d) ' % (
                    energyLow, energyHigh)
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("run", {})\
                                              .setdefault("query", eneQuery)

        if self.verbose:
            print json.dumps(self.filter)
    def generateFilter(self):
        self.filter = {}

        self.filter.setdefault("dataset", {})\
                                          .setdefault("rowClass", "org.cern.cms.dqm.runregistry.user.model.RunDatasetRowGlobal")

        for qf in self.qflist:
            (sys, value) = qf.split(':')
            if self.verbose: print qf
            if sys != "NONE":
                if sys.lower() == 'tracker':
                    self.filter.setdefault('trackStatus', self.qry[value])
                else:
                    self.filter.setdefault(sys.lower() + "Status",
                                           self.qry[value])
                if sys.lower() != 'lumi':
                    self.filter.setdefault("dataset", {})\
                                                      .setdefault("filter", {})\
                                                      .setdefault(sys.lower(), {})\
                                                      .setdefault("status", " = %s" % value)
        for dcs in self.dcslist:
            self.filter.setdefault(dcs.lower() + "Ready", "isNull OR  = true")
            if self.verbose: print dcs

        if self.online:
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("datasetName", "like %s" % Certifier.OnlineRX)
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("online", " = true")
        else:
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("datasetName", " like %s" % self.dataset.split(":")[0])

        self.filter.setdefault(
            "runNumber",
            ">= %d AND <= %d " % (int(self.runmin), int(self.runmax)))
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("runClassName", self.group)
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("run", {})\
                                          .setdefault("rowClass", "org.cern.cms.dqm.runregistry.user.model.RunSummaryRowGlobal")
        self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("run", {})\
                                          .setdefault("filter",{})\
                                          .setdefault("bfield", "> %.1f" % self.bfield)
        self.filter.setdefault("cmsActive", "isNull OR = true")
        if len(self.dsstate):
            self.filter.setdefault("dataset", {})\
                                          .setdefault("filter", {})\
                                          .setdefault("datasetState", " = %s"  % self.dsstate)
        if len(self.beamene):

            eneQuery = '{lhcEnergy} IS NULL OR {lhcEnergy} = 0 '
            for e in self.beamene:
                energyLow = e - 400
                if energyLow < 0:
                    energyLow = 0
                energyHigh = e + 400
                eneQuery += 'OR ( {lhcEnergy} >= %.1d AND {lhcEnergy} <= %.1d) ' % (
                    energyLow, energyHigh)
            self.filter.setdefault("dataset", {})\
                                              .setdefault("filter", {})\
                                              .setdefault("run", {})\
                                              .setdefault("query", eneQuery)

        if self.verbose:
            print json.dumps(self.filter)