def initialize(self): Algorithm.initialize(self) sg = self.getStoreGateSvc() from ROOT import TH1F, TH2F sg.mkdir( self._basepath + '/CaloView' ) offset = 240 # x axis represents [-240 , 240+1000] the depth (z) calorimeter. Y axis represent one of the faces (x or y) sg.addHistogram( TH2F( "lateral_view", ";;;", 10000, -240+offset, 240 + 1000 + offset, 4000, -240+offset, 240+offset) ) sg.addHistogram( TH2F( "layer_0", "First EM Layer; Energy (eta); Energy (phi)" , 3,0,3,96,0,96) ) sg.addHistogram( TH2F( "layer_1", "Second EM Layer; Energy (eta); Energy (phi)", 12,0,12,12,0,12) ) sg.addHistogram( TH2F( "layer_2", "Third EM Layer; Energy (eta); Energy (phi)" , 12,0,12,6,0,6) ) sg.addHistogram( TH2F( "layer_3", "First HAD Layer; Energy (eta); Energy (phi)" , 8,0,8,8,0,8) ) sg.addHistogram( TH2F( "layer_4", "Second HAD Layer; Energy (eta); Energy (phi)" , 8,0,8,8,0,8) ) sg.addHistogram( TH2F( "layer_5", "Third HAD Layer; Energy (eta); Energy (phi)" , 4,0,4,4,0,4) ) hists_per_layer = [(3, 96), (12, 12), (12, 6), (8, 8), (8, 8), (4, 4)] for layer, hists in enumerate(hists_per_layer): for x in range( hists[0] ): for y in range( hists[1] ): sg.addHistogram( TH1F( ("layer_%d_x%d_y%d")%(layer,x,y), ";Energy;Count", 150, -5, 100 ) ) self.init_lock() return StatusCode.SUCCESS
def __init__(self, name, dataframe, selection_list_labels=None, **kw): Algorithm.__init__(self, name) # declare all properties with default values self.declareProperty("Basepath", "Event/ImpactTool_bkup", "Impact base path histogram.") self.declareProperty("EtBinningValues", [], "Et bin selection for data selection.") self.declareProperty("EtaBinningValues", [], "Et bin selection for data selection.") # Set all properties values from the contructor args for key, value in kw.items(): self.setProperty(key, value) if selection_list_labels is None: # default selection names definition self.__selections = [ 'ringer', 'no_ringer', ] else: self.__selections = selection_list_labels self.__selectionFeatures = list()
def __init__(self, name, **kw): Algorithm.__init__(self, name) # Set all properties for key, value in kw.items(): if key in self.__property: self.declareProperty( key, value ) else: MSG_FATAL( self, "Property with name %s is not allow for %s object", key, self.__class__.__name__)
def __init__(self, name, dojpsiee=False, **kw): Algorithm.__init__(self, name) self.__groups = list() # declare all props here self.declareProperty( "Basepath", "Event/EfficiencyTool", "Histograms base path for the efficiency tool" ) self.declareProperty( "DoJpisee", dojpsiee , "Use the J/psiee et bins in the eff et histograms." ) # Set property values using the constructor args for key, value in kw.items(): self.setProperty(key, value)
def __init__(self, name, **kw): Algorithm.__init__(self, name) self._event = {} self._event_label = [] self._save_these_bins = list() self._extra_features = list() self.declareProperty( "OutputFile", 'sample.pic', "The output file name" ) for key, value in kw.items(): self.setProperty(key, value)
def initialize(self): Algorithm.initialize(self) sg = self.getStoreGateSvc() from ROOT import TH1F, TH2F sg.mkdir(self._basepath + '/Rings') for ring in range(66): sg.addHistogram( TH1F(("ring_%d") % (ring), ";Energy;Count", 500, 0, 1000)) sg.addHistogram( TH2F(("rings"), ";Energy;Count", 66, 0, 66, 500, 0, 1000)) sg.addHistogram(TH1F("ring_profile", ";Energy;Count", 66, 0, 66)) self.init_lock() return StatusCode.SUCCESS
def initialize(self): Algorithm.initialize(self) sg = self.getStoreGateSvc() from ROOT import TGraph, TH1F sg.mkdir(self._basepath + '/Resolution') for energy in self._energy_bins: sg.addHistogram( TH1F("total_energy_" + str(energy) + "GeV", ";Energy;Count", 100, energy - int(np.sqrt(energy)) - 1, energy + int(np.sqrt(energy)) + 1)) self.init_lock() return StatusCode.SUCCESS
def __init__(self, name, **kw): Algorithm.__init__(self, name) # declare all properties with default values self.declareProperty("Basepath", "Event/QuadrantTool", "Quadrant base path histogram.") self.declareProperty("EtBinningValues", [], "Et bin selection for data selection.") self.declareProperty("EtaBinningValues", [], "Et bin selection for data selection.") # Set all properties values from the contructor args for key, value in kw.items(): self.setProperty(key, value) self.__quadrantFeatures = list()
def __init__(self, name, outputname): Algorithm.__init__(self, name) self._outputname = outputname self._event = []
def __init__(self, name, L1Item, chain): Algorithm.__init__(self, name) self.__trigInfo = TriggerInfo(chain) self.__l1item = L1Item self.__trigger = chain
def __init__(self, name, **kw): Algorithm.__init__(self, name) self._basepath = retrieve_kw(kw, 'basepath', 'particle') self._energy_bins = retrieve_kw(kw, 'energy_bins', [])
def __init__( self, name, **kw ): Algorithm.__init__( self, name ) self._basepath = retrieve_kw( kw, 'basepath' , '')
def __init__(self, name, **kw): Algorithm.__init__(self, name) # List of hypos in this selector self.__hypos = None
def initialize(self): Algorithm.initialize(self) for etBinIdx in range(len(self._etbins)-1): for etaBinIdx in range(len(self._etabins)-1): self._event[ 'et%d_eta%d' % (etBinIdx,etaBinIdx) ] = None self._event_label.append( 'avgmu' ) # Add fast calo ringsE self._event_label.extend( [ 'L2Calo_ring_%d'%r for r in range(100) ] ) self._event_label.extend( [ 'L2Calo_et', 'L2Calo_eta', 'L2Calo_phi', 'L2Calo_reta', 'L2Calo_ehad1', # new 'L2Calo_eratio', 'L2Calo_f1', # new 'L2Calo_f3', # new 'L2Calo_weta2', # new 'L2Calo_wstot', # new 'L2Calo_e2tsts1', # new 'L2Electron_hastrack', 'L2Electron_pt', 'L2Electron_eta', 'L2Electron_phi', 'L2Electron_caloEta', 'L2Electron_trkClusDeta', 'L2Electron_trkClusDphi', 'L2Electron_etOverPt', ] ) self._event_label.extend( [ # Offline variables 'et', 'eta', 'phi', # offline shower shapers 'rhad1', 'rhad', 'f3', 'weta2', 'rphi', 'reta', 'wtots1', 'eratio', 'f1', # offline track 'hastrack', 'numberOfBLayerHits', 'numberOfPixelHits', 'numberOfTRTHits', 'd0', 'd0significance', 'eProbabilityHT', 'trans_TRT_PID', 'deltaEta1', 'deltaPhi2', 'deltaPhi2Rescaled', 'DeltaPOverP', ] ) if self._dataframe is DataframeEnum.Electron_v1: self._event_label.extend( [ 'deltaR', #for boosted 'eeMass', #for boosted # Offline variables 'el_lhtight', 'el_lhmedium', 'el_lhloose', 'el_lhvloose', ] ) elif self._dataframe is DataframeEnum.Photon_v1: self._event_label.extend( [ # Offline variables 'ph_tight', 'ph_medium', 'ph_loose', 'mc_origin', 'mc_type', 'trig_EF_ph_tight', 'trig_EF_ph_medium', 'trig_EF_ph_loose', ] ) else: self._event_label.extend( [ # Offline variables 'el_lhtight', 'el_lhmedium', 'el_lhloose', 'el_lhvloose', ] ) self._event_label.extend( self._extra_features ) return StatusCode.SUCCESS
def __init__(self, name, **kw): Algorithm.__init__(self, name) self._outputname = retrieve_kw(kw, 'outputname', 'collection.pic') self._event = [] self._event_label = []
def initialize(self): Algorithm.initialize(self) sg = self.getStoreGateSvc() basepath = self.getProperty("Basepath") etBins = self.getProperty("EtBinningValues") etaBins = self.getProperty("EtaBinningValues") etabins = default_etabins for feat in self.__quadrantFeatures: # hold quadrant name quadrant_name = feat.name_a() + '_Vs_' + feat.name_b() ### loopover ets... for etBinIdx in range(len(etBins) - 1): ### loop over etas... for etaBinIdx in range(len(etaBins) - 1): ### loop over quadrants... for quadrant in self.__quadrants: # hold binning name binning_name = ('et%d_eta%d') % (etBinIdx, etaBinIdx) dirname = basepath + '/' + quadrant_name + '/' + binning_name + '/' + quadrant sg.mkdir(dirname) sg.addHistogram( TH1F('et', ('%s;%s;Count') % (basicInfoQuantities['et'], basicInfoQuantities['et']), basicInfoNBins['et'], basicInfoLowerEdges['et'], basicInfoHighEdges['et'])) sg.addHistogram( TH1F('eta', ('%s;%s;Count') % (basicInfoQuantities['eta'], basicInfoQuantities['eta']), len(etabins) - 1, np.array(etabins))) sg.addHistogram( TH1F('phi', ('%s;%s;Count') % (basicInfoQuantities['phi'], basicInfoQuantities['phi']), 20, -3.2, 3.2)) sg.addHistogram( TH1F('avgmu', ('%s;%s;Count') % (basicInfoQuantities['avgmu'], basicInfoQuantities['avgmu']), 16, 0, 80)) sg.addHistogram( TH1F('nvtx', ('%s;%s;Count') % (basicInfoQuantities['nvtx'], basicInfoQuantities['nvtx']), len(nvtx_bins) - 1, np.array(nvtx_bins))) for key in standardQuantitiesNBins.keys(): sg.addHistogram( TH1F(key, ('%s;%s;Count') % (electronQuantities[key], electronQuantities[key]), standardQuantitiesNBins[key], standardQuantitiesLowerEdges[key], standardQuantitiesHighEdges[key])) # loop over quadrants # loop over pairs self.init_lock() return StatusCode.SUCCESS
def __init__(self, name): Algorithm.__init__(self, name) # Cut type and values self.__cutValues = collections.OrderedDict()
def initialize(self): Algorithm.initialize(self) sg = self.getStoreGateSvc() basepath = self.getProperty("Basepath") etBins = self.getProperty("EtBinningValues") etaBins = self.getProperty("EtaBinningValues") etabins = default_etabins for feat in self.__selectionFeatures: # hold selection name selection_name = feat.name_a() + '_VS_' + feat.name_b() ### loopover ets... for etBinIdx in range(len(etBins) - 1): ### loop over etas... for etaBinIdx in range(len(etaBins) - 1): ### loop over selections... for selection in self.__selections: # hold binning name binning_name = ('et%d_eta%d') % (etBinIdx, etaBinIdx) dirname = basepath + '/' + selection_name + '/' + binning_name + '/' + selection sg.mkdir(dirname) sg.addHistogram( TH1F('et', ('%s;%s;Count') % (basicInfoQuantities['et'], basicInfoQuantities['et']), basicInfoNBins['et'], basicInfoLowerEdges['et'], basicInfoHighEdges['et'])) sg.addHistogram( TH1F('eta', ('%s;%s;Count') % (basicInfoQuantities['eta'], basicInfoQuantities['eta']), len(etabins) - 1, np.array(etabins))) sg.addHistogram( TH1F('phi', ('%s;%s;Count') % (basicInfoQuantities['phi'], basicInfoQuantities['phi']), 20, -3.2, 3.2)) sg.addHistogram( TH1F('avgmu', ('%s;%s;Count') % (basicInfoQuantities['avgmu'], basicInfoQuantities['avgmu']), 16, 0, 80)) sg.addHistogram( TH1F('nvtx', ('%s;%s;Count') % (basicInfoQuantities['nvtx'], basicInfoQuantities['nvtx']), len(nvtx_bins) - 1, np.array(nvtx_bins))) # we want measure this for itype in ['off', 'hlt']: for key in [ 'f1', 'f3', 'weta2', 'wtots1', 'rphi', 'deltaEta1', 'deltaPhiRescaled2', 'eratio', 'reta', 'rhad' ]: sg.addHistogram( TH1F('%s_%s' % (itype, key), ('%s;%s;Count') % (electronQuantities[key], electronQuantities[key]), standardQuantitiesNBins[key], standardQuantitiesLowerEdges[key], standardQuantitiesHighEdges[key])) for fc_key in ['f1', 'f3', 'weta2', 'reta', 'eratio']: sg.addHistogram( TH1F('fc_%s' % (fc_key), ('%s;%s;Count') % (electronQuantities[fc_key], electronQuantities[fc_key]), standardQuantitiesNBins[fc_key], standardQuantitiesLowerEdges[fc_key], standardQuantitiesHighEdges[fc_key])) # loop over selections # loop over pairs self.init_lock() return StatusCode.SUCCESS
def __init__(self): Algorithm.__init__(self, "Emulator") self.__tools = {}
def __init__(self, name, chain): Algorithm.__init__(self, name) self.__trigger = chain[4::] if chain.startswith('HLT_') else chain