def __init__(self): volume = VolumeCylinder('ecal', 1.55, 2.1, 1.30, 2.) mat = material.Material('ECAL', 8.9e-3, 0.275) self.eta_crack = 1.5 self.emin = 0.4 self.eres = [0.073, 0.1, 0.005] super(ECAL, self).__init__('ecal', volume, mat)
def __init__(self): volume = VolumeCylinder('ecal', 2.02, 2.348, 1.808, 2.348) mat = material.Material('ECAL', 3.5e-3, 0.111) self.eta_crack = 3 self.emin = 0.1 self.eres = [0.17, 0., 0.01] super(ECAL, self).__init__('ecal', volume, mat)
def __init__(self): volume = VolumeCylinder('hcal', 2.9, 3.6, 1.9, 2.6 ) mat = material.Material('HCAL', None, 0.17) self.eta_crack = 1.3 self.eres = {'barrel':[0.8062, 2.753, 0.1501], 'endcap':[6.803e-06, 6.676, 0.1716]} self.eresp = {'barrel':[1.036, 4.452, -2.458], 'endcap':[1.071, 9.471, -2.823]} super(HCAL, self).__init__('ecal', volume, mat)
def __init__(self): #Material Seamless AISI 316 LN, External diameter 53 mm, Wall thickness 1.5 mm (hors CLIC) X0 1.72 cm #in CLIC, radius 25 mm (?), tchikness 8mm, X0 35.28 cm : berylluim factor = 1.0 volume = VolumeCylinder('beampipe', 2.5e-2*factor+0.8e-3, 1.98, 2.5e-2*factor, 1.9785 ) mat = material.Material('BeamPipe', 35.28e-2, 0) super(BeamPipe, self).__init__('beampipe', volume, mat)
def __init__(self): super(Tracker, self).__init__( 'tracker', VolumeCylinder('tracker', ECAL.min_radius, ECAL.min_z), material.void) self.theta_max = 75. * math.pi / 180. # Emilia Leogrande # using our definition of theta (equal to zero at eta=0) self.resmap = [ (80.0, [0.00064001464571871076, 0.13554521466257508, 1.1091870672607593]), (60.0, [ 7.9414367183119937e-05, 0.014845686639308672, 1.0821694803464048 ]), (40.0, [ 4.8900068724976152e-05, 0.0056580423053257511, 1.0924861152630758 ]), # setting max angle of last line to 20 so that it's used. (20.0, [ 3.959021523612684e-05, 0.0028148305792289668, 1.0362271035102992 ]) ]
def __init__(self): volume = VolumeCylinder('hcal', 4.8, 5.3, 2.4, 2.85) # not sure about X0 and lambda_i, but these don't matter anyway mat = material.Material('HCAL', 0.018, 0.17) # resolution from CLIC CDR Fig. 6.11, 1st hypothesis self.eres = [0.60, 0., 0.025] super(HCAL, self).__init__('ecal', volume, mat)
def __init__(self): volume = VolumeCylinder('ecal', 1.55, 2.1, 1.30, 2. ) mat = material.Material('ECAL', 8.9e-3, 0.275) self.eta_crack = 1.479 self.emin = {'barrel':0.3, 'endcap':1.} self.eres = {'barrel':[4.22163e-02, 1.55903e-01, 7.14166e-03], 'endcap':[-2.08048e-01, 3.25097e-01, 7.34244e-03]} self.eresp = {'barrel':[1.00071, -9.04973, -2.48554], 'endcap':[9.95665e-01, -3.31774, -2.11123]} super(ECAL, self).__init__('ecal', volume, mat)
def __init__(self): volume = VolumeCylinder('hcal', self.__class__.max_radius, self.__class__.max_z, self.__class__.min_radius, self.__class__.min_z) # not sure about X0 and lambda_i, but these don't matter anyway mat = material.Material('HCAL', 0.018, 0.17) # resolution from CLIC CDR Fig. 6.11, 2nd hypothesis (simple software compensation) self.eres = [0.5, 0.5, 0.0234] super(HCAL, self).__init__('ecal', volume, mat)
def __init__(self): super(Tracker, self).__init__('tracker', VolumeCylinder('tracker', 2.14, 2.6), material.void) self.theta_max = 80. * math.pi / 180. # CLIC CDR Table 5.3. # using our definition of theta (equal to zero at eta=0) # first line added by hand for small angles, # with a bad resolution. # these tracks will not be accepted anyway, # but please pay attention to the acceptance method. self.resmap = [(90, 8.2e-2, 9.1e-2), (80, 8.2e-4, 9.1e-3), (30, 9.9e-5, 3.8e-3), (20, 3.9e-5, 1.6e-3), (10, 2e-5, 7.2e-4)]
def __init__(self): depth = 0.25 inner_radius = 2.15 inner_z = 2.6 nX0 = 23 #CLIC CDR, page 70, value for CLIC_ILD nLambdaI = 1 # ibid outer_radius = inner_radius + depth outer_z = inner_z + depth X0 = depth / nX0 lambdaI = depth / nLambdaI volume = VolumeCylinder('ecal', outer_radius, outer_z, inner_radius, inner_z) mat = material.Material('ECAL', X0, lambdaI) # todo: recompute self.eta_junction = volume.inner.eta_junction() # as for ILD (thresholds chosen by Mogens) self.emin = {'barrel':0.5, 'endcap':0.5} # CLIC CDR p.123. adding a noise term of 1% self.eres = {'barrel':[0.167, 0.010, 0.011]} super(ECAL, self).__init__('ecal', volume, mat)
def __init__(self): depth = 0.25 min_radius = self.__class__.min_radius min_z = self.__class__.min_z inner_endcap_radius = 0.25 self.maxeta = -math.log( math.tan(math.atan(inner_endcap_radius / 1.7) / 2.)) nX0 = 23 #CLIC CDR, page 70, value for CLIC_ILD nLambdaI = 1 # ibid outer_radius = min_radius + depth outer_z = min_z + depth X0 = depth / nX0 lambdaI = depth / nLambdaI volume = VolumeCylinder('ecal', outer_radius, outer_z, min_radius, min_z) mat = material.Material('ECAL', X0, lambdaI) # todo: recompute self.eta_junction = volume.inner.eta_junction() # cooking up thresholds. a HG calo must be quite sensitive self.emin = {'barrel': 0.2, 'endcap': 0.2} # CLIC CDR p.123 self.eres = {'barrel': [0.167, 0.0, 0.011]} super(ECAL, self).__init__('ecal', volume, mat)
def __init__(self): depth = 0.25 min_radius = self.__class__.min_radius inner_endcap_radius = 0.34 self.maxeta = max_eta(inner_endcap_radius, self.__class__.min_z, self.__class__.max_z) nX0 = 23 #CLIC CDR, page 70, value for CLIC_ILD nLambdaI = 1 # ibid depth = self.__class__.max_z - self.__class__.min_z X0 = depth / nX0 lambdaI = depth / nLambdaI volume = VolumeCylinder('ecal', self.__class__.max_radius, self.__class__.max_z, self.__class__.min_radius, self.__class__.min_z) mat = material.Material('ECAL', X0, lambdaI) # todo: recompute self.eta_junction = volume.inner.eta_junction() # cooking up thresholds. a HG calo must be quite sensitive self.emin = {'barrel': 0.2, 'endcap': 0.2} # CLIC CDR p.123 self.eres = {'barrel': [0.167, 0.0, 0.011]} super(ECAL, self).__init__('ecal', volume, mat)
def __init__(self): volume = VolumeCylinder('tracker', 1.29, 1.99) mat = material.void super(Tracker, self).__init__('tracker', volume, mat)
def __init__(self): volume = VolumeCylinder('hcal', 2.9, 3.6, 1.9, 2.6) mat = material.Material('HCAL', None, 0.17) super(HCAL, self).__init__('ecal', volume, mat)
def __init__(self, magnitude): self.magnitude = magnitude volume = VolumeCylinder('field', HCAL.max_radius, HCAL.max_z) mat = material.void super(Field, self).__init__('tracker', volume, mat)
def __init__(self): volume = VolumeCylinder('tracker', 1.29, 1.99) # care : there is the beam pipe ! Shouldn't be an inner radius specified ? mat = material.void super(Tracker, self).__init__('tracker', volume, mat)
def __init__(self): volume = VolumeCylinder('ecal', 1.55, 2.25, 1.30, 2.) mat = material.Material('ECAL', 8.9e-3, 0.) # lambda_I = 0 self.eta_crack = 1.5 self.emin = 2. super(ECAL, self).__init__('ecal', volume, mat)
def __init__(self, magnitude): self.magnitude = magnitude volume = VolumeCylinder('field', 2.9, 3.6) mat = material.void super(Field, self).__init__('tracker', volume, mat)
def __init__(self): volume = VolumeCylinder('hcal', 3.33, 2.348, 2.02, 2.348) mat = material.Material('HCAL', 1.74e-3, 0.17) self.eta_crack = 3. self.eres = [0.5, 0., 0.] super(HCAL, self).__init__('hcal', volume, mat)