Esempio n. 1
0
def getShowerRecoAlgModular():
    # This function returns the default shower reco module
    # If you want to extend, customize, or otherwise alter the default
    # reco (which you should!) it's recommended that you do one of two
    # things:
    #   1) Copy this function, and change the lines you need
    #   2) Use this function as is and replace the modules with the built-in functions
    #       to ShowerRecoAlgModular
    # Then, use the return value (alg) in place of ShowerRecoAlg in your python script

    # It should be noted, however, that this "default" set of modules is not yet developed
    # and if you are developing you ought to be updating it here!

    alg = showerreco.ShowerRecoAlgModular()

    # 3D Axis Module:
    axis3D = showerreco.Axis3DModule()
    axis3D.setMaxIterations(50)
    axis3D.setNStepsMin(7)
    axis3D.setTargetError(0.00001)

    alg.AddShowerRecoModule(axis3D)
    alg.AddShowerRecoModule(showerreco.StartPoint2DModule())
    alg.AddShowerRecoModule(showerreco.StartPoint3DModule())
    alg.AddShowerRecoModule(showerreco.ShowerChargeModule())

    alg.PrintModuleList()

    return alg
Esempio n. 2
0
def getShowerRecoAlgModular():
    # This function returns the default shower reco module
    # If you want to extend, customize, or otherwise alter the default
    # reco (which you should!) it's recommended that you do one of two
    # things:
    #   1) Copy this function, and change the lines you need
    #   2) Use this function as is and replace the modules with the built-in functions
    #       to ShowerRecoAlgModular
    # Then, use the return value (alg) in place of ShowerRecoAlg in your python script

    # It should be noted, however, that this "default" set of modules is not yet developed
    # and if you are developing you ought to be updating it here!

    alg = showerreco.ShowerRecoAlgModular()
    alg.SetDebug(False)

    # 3D Axis Module:
    axis3D = showerreco.Axis3DModule()
    axis3D.setMaxIterations(100)
    axis3D.setNStepsInitial(25)
    axis3D.setTargetError(0.001)
    axis3D.setNormalErrorRange(0.01)
    axis3D.setThetaRangeStart(0.1)
    axis3D.setThetaRangeMin(0.0005)
    axis3D.setNStepsStart(4)
    axis3D.setConvergeRate(0.85)
    axis3D.setVerbosity(True)
    axis3D.setSeedVectorErrorCutoff(0.1)

    angle3D = showerreco.Angle3DFormula()
    angle3D.setMaxAngleError(0.1)
    angle3D.setVerbosity(False)

    energy = showerreco.LinearEnergy()
    energy.SetUseModBox(True)
    energy.setVerbosity(False)

    dqdx = showerreco.dQdxModule()

    dedx = showerreco.dEdxFromdQdx()
    dedx.SetUsePitch(False)
    dedx.setVerbosity(False)

    #alg.AddShowerRecoModule(axis3D)
    alg.AddShowerRecoModule(angle3D)
    alg.AddShowerRecoModule(showerreco.StartPoint3DModule())
    alg.AddShowerRecoModule(energy)
    alg.AddShowerRecoModule(dqdx)
    alg.AddShowerRecoModule(dedx)
    # alg.AddShowerRecoModule(showerreco.StartPoint2DModule()  )
    #alg.AddShowerRecoModule(showerreco.OtherStartPoint3D()  )
    # alg.AddShowerRecoModule(showerreco.ShowerChargeModule()  )

    alg.AddShowerRecoModule(showerreco.GeoModule())

    alg.PrintModuleList()

    return alg
def getShowerRecoAlgModular():
    # This function returns the default shower reco module
    # If you want to extend, customize, or otherwise alter the default
    # reco (which you should!) it's recommended that you do one of two
    # things:
    #   1) Copy this function, and change the lines you need
    #   2) Use this function as is and replace the modules with the built-in functions
    #       to ShowerRecoAlgModular
    # Then, use the return value (alg) in place of ShowerRecoAlg in your python script

    # It should be noted, however, that this "default" set of modules is not yet developed
    # and if you are developing you ought to be updating it here!

    alg = showerreco.ShowerRecoAlgModular()
    alg.SetDebug(False)
    alg.SetVerbose(False)

    angle3D = showerreco.Angle3DFormula()
    angle3D.setMaxAngleError(0.1)
    angle3D.setValidateDirection(True)
    angle3D.setVerbosity(False)

    angle3D = showerreco.Angle3DFromVtxQweighted()

    energy = showerreco.LinearEnergy()
    energy.SetElectronLifetime(8000.)  # in us MCC7 value
    #energy.SetElectronLifetime(1e6  ) # in us DATA value
    energy.SetRecombFactor(0.62)
    #energy.SetElecGain(198) # e- / ADC DATA value
    energy.SetElecGain(189)  # MCC7 value
    energy.setVerbosity(False)
    energy.SetFillTree(True)

    dqdx = showerreco.dQdxModule()

    dedx = showerreco.dEdxFromdQdx()
    dedx.SetUsePitch(False)
    dedx.setVerbosity(False)

    geoModule = showerreco.GeoModule()
    geoModule.setFlipShowerDirection(False)

    alg.AddShowerRecoModule(showerreco.StartPoint3DModule())
    alg.AddShowerRecoModule(angle3D)
    alg.AddShowerRecoModule(energy)
    #alg.AddShowerRecoModule(dqdx)
    #alg.AddShowerRecoModule(dedx)
    alg.AddShowerRecoModule(geoModule)

    alg.PrintModuleList()

    return alg
Esempio n. 4
0
def getShowerRecoAlgModular():
    # This function returns the default shower reco module
    # If you want to extend, customize, or otherwise alter the default
    # reco (which you should!) it's recommended that you do one of two
    # things:
    #   1) Copy this function, and change the lines you need
    #   2) Use this function as is and replace the modules with the built-in functions
    #       to ShowerRecoAlgModular
    # Then, use the return value (alg) in place of ShowerRecoAlg in your python script

    # It should be noted, however, that this "default" set of modules is not yet developed
    # and if you are developing you ought to be updating it here!

    alg = showerreco.ShowerRecoAlgModular()
    alg.SetDebug(False)

    angle3D = showerreco.Angle3DFromVtxQweighted()

    energy = showerreco.LinearEnergy()
    energy.SetUseModBox(True)
    energy.SetUseArea(True)
    energy.setVerbosity(False)
    energy.SetFillTree(True)
    energy.SetMinNumHits(20)

    dqdx = showerreco.dQdxModule()
    dqdx.setVerbosity(False)

    dedx = showerreco.dEdxFromdQdx()
    dedx.setVerbosity(False)

    alg.AddShowerRecoModule(showerreco.StartPoint3DModule())
    alg.AddShowerRecoModule(angle3D)
    filter = showerreco.Filter3DDir()
    filter.SetDotProdCut(0.5)
    alg.AddShowerRecoModule(filter)
    alg.AddShowerRecoModule(energy)
    alg.AddShowerRecoModule(dqdx)
    alg.AddShowerRecoModule(dedx)

    alg.AddShowerRecoModule(showerreco.GeoModule())

    alg.PrintModuleList()

    return alg
Esempio n. 5
0
def getShowerRecoAlgModular():
    
    alg = showerreco.ShowerRecoAlgModular()
    alg.SetDebug(False)
    alg.SetVerbose(False)
    
    angle3D = showerreco.Angle3DFormula()
    angle3D.setMaxAngleError(0.1)
    angle3D.setValidateDirection(True)
    angle3D.setVerbosity(False)

    angle3D = showerreco.Angle3DFromVtxQweighted()

    gain = 196.97874008458268
    
    energy = showerreco.LinearEnergy()
    energy.SetElectronLifetime(1e20) #1e6) #8000.) # in us MCC7 value
    energy.SetRecombFactor(0.572) 
    energy.SetElecGain(gain) # e- / ADC DATA value, MCC8
    #energy.SetElecGain(189) # MCC7 value
    energy.setVerbosity(False)
    energy.SetFillTree(True)

    dqdx = showerreco.dQdxModule()
    
    dedx = showerreco.dEdxFromdQdx()
    dedx.SetUsePitch(False)
    dedx.setVerbosity(True)

    geoModule = showerreco.GeoModule()
    geoModule.setFlipShowerDirection(False)
    
    alg.AddShowerRecoModule( showerreco.StartPoint3DModule() )
    alg.AddShowerRecoModule(angle3D)
    alg.AddShowerRecoModule(energy)
    alg.AddShowerRecoModule( geoModule )
    
    alg.PrintModuleList()
    
    return alg