process.etaMinGenCandViewSelector = process.etaMinCandViewSelector.clone(
    src="genStableParticles")

process.etaGenHistoAnalyzer = process.etaHistoAnalyzer.clone(
    src="genStableParticles")
process.etaMaxGenHistoAnalyzer = process.etaMaxHistoAnalyzer.clone(
    src="etaMaxGenCandViewSelector")
process.etaMinGenHistoAnalyzer = process.etaMinHistoAnalyzer.clone(
    src="etaMinGenCandViewSelector")

process.edmNtupleEtaMaxGen = process.edmNtupleEtaMax.clone(
    src="etaMaxGenCandViewSelector")
process.edmNtupleEtaMinGen = process.edmNtupleEtaMin.clone(
    src="etaMinGenCandViewSelector")

process.recoMC_step = cms.Path(process.genStableParticles *
                               process.etaMaxGenCandViewSelector +
                               process.etaMinGenCandViewSelector)

process.edmDumpMC_step = cms.Path(process.edmNtupleEtaMaxGen +
                                  process.edmNtupleEtaMinGen)

process.analysisMC_step = cms.Path(process.eventSelectionBscMinBiasOR +
                                   process.etaGenHistoAnalyzer +
                                   process.etaMaxGenHistoAnalyzer +
                                   process.etaMinGenHistoAnalyzer)

from Utilities.PyConfigTools.removeFromPaths import removeFromPaths
removeFromPaths(process, 'bptx')
removeFromPaths(process, 'hltBscMinBiasORBptxPlusORMinusFilter')
process.output.outputCommands.append('keep *_edmNtupleEtaMinGen_*_*')
process.TFileService.fileName = 'analysisHistos_pFlowNoiseThesholds_MC.root'

Ebeam = 3500.
process.load('Utilities.AnalysisSequences.genStableParticles_cfi')
process.genStableParticles.cut = 'status = 1 & ( ( pdgId != 2212 ) | ( pdgId == 2212 & abs(pz) < %f ) )' % (0.75*Ebeam)
process.etaMaxGenCandViewSelector = process.etaMaxCandViewSelector.clone(src = "genStableParticles")
process.etaMinGenCandViewSelector = process.etaMinCandViewSelector.clone(src = "genStableParticles")

process.etaGenHistoAnalyzer = process.etaHistoAnalyzer.clone(src = "genStableParticles")
process.etaMaxGenHistoAnalyzer = process.etaMaxHistoAnalyzer.clone(src = "etaMaxGenCandViewSelector")
process.etaMinGenHistoAnalyzer = process.etaMinHistoAnalyzer.clone(src = "etaMinGenCandViewSelector")

process.edmNtupleEtaMaxGen = process.edmNtupleEtaMax.clone(src = "etaMaxGenCandViewSelector")
process.edmNtupleEtaMinGen = process.edmNtupleEtaMin.clone(src = "etaMinGenCandViewSelector")

process.recoMC_step = cms.Path(process.genStableParticles*
                               process.etaMaxGenCandViewSelector+
                               process.etaMinGenCandViewSelector)

process.edmDumpMC_step = cms.Path(process.edmNtupleEtaMaxGen+
                                  process.edmNtupleEtaMinGen)

process.analysisMC_step = cms.Path(process.eventSelectionBscMinBiasOR+
                                   process.etaGenHistoAnalyzer+
                                   process.etaMaxGenHistoAnalyzer+process.etaMinGenHistoAnalyzer)

from Utilities.PyConfigTools.removeFromPaths import removeFromPaths
removeFromPaths(process,'bptx')
removeFromPaths(process,'hltBscMinBiasORBptxPlusORMinusFilter')
if config.runNoColl:
    makeAnalysis(process,'diffractiveAnalysisTTree','eventSelectionMinBiasNoColl')
    makeAnalysis(process,'diffractiveAnalysisTTree','eventSelectionMinBiasNoCollNoVertex')

if config.runEtaMaxFilter:
    makeAnalysis(process,'diffractiveAnalysisTTree','eventSelectionMinBiasEtaMaxFilter')
    makeAnalysis(process,'diffractiveAnalysisTTree','eventSelectionMinBiasEtaMinFilter')
    makeAnalysis(process,'diffractiveAnalysisTTree','eventSelectionMinBiasEtaMaxFilterNoVertex')
    makeAnalysis(process,'diffractiveAnalysisTTree','eventSelectionMinBiasEtaMinFilterNoVertex')

if config.switchPVFilter:
    from Utilities.PyConfigTools.replaceInPaths import replaceInPaths
    replaceInPaths(process,'primaryVertexFilter','primaryVertexFilterLooseNDOF0')

if config.runOnMC:
    from Utilities.PyConfigTools.removeFromPaths import removeFromPaths
    removeFromPaths(process,'bptx')
    removeFromPaths(process,'hltMinBias')
    #removeFromPaths(process,'castorInvalidDataFilter')

    DiffractiveAnalysisMC = DiffractiveAnalysis.clone(
                                  accessMCInfo = True,
                                  hltPath = 'HLT_Physics_v*',
                                  castorRecHitTag = 'castorreco', 
                                  triggerResultsTag = cms.InputTag("TriggerResults","",config.triggerResultsProcessNameMC)
    )
    from Utilities.PyConfigTools.setAnalyzerAttributes import setAnalyzerAttributes
    setAnalyzerAttributes(process,'diffractiveAnalysisTTree',
                                  DiffractiveAnalysis = DiffractiveAnalysisMC)