'(abs(leg1.superCluster().eta())<0.8&&leg1.electronID("mvaNonTrigV0")>0.925)||(abs(leg1.superCluster().eta())<1.479&&leg1.electronID("mvaNonTrigV0")>0.975)||(leg1.electronID("mvaNonTrigV0")>0.985)', 'ElectronID',1) ETanalysisConfigurator.addSelector('eleTausEleConvRej','PATEleTauPairSelector','leg1.userInt("missingHits")==0&&!(leg1.userInt("HasMatchedConversion")>0)','electronConvRej',1) ETanalysisConfigurator.addSelector('eleTausElePtEta', 'PATEleTauPairSelector', 'leg1.pt()>20&&abs(leg1.eta())<2.1&&abs(leg1.userFloat("dz"))<0.2&&abs(leg1.userFloat("ipDXY"))<0.045','electronPtEta',1) ETanalysisConfigurator.addSelector('eleTausEleIsolationLoose','PATEleTauPairSelector','(leg1.userIso(0)+max(leg1.userIso(1)+leg1.neutralHadronIso()-0.5*leg1.userIso(2),0.0))/leg1.pt()<0.5','electronIsolationLoose',1) ETanalysisConfigurator.addSelector('eleTausTauPtEta', 'PATEleTauPairSelector', 'leg2.pt()>17&&abs(leg2.eta())<2.3', 'ETTauPtEta',1) ETanalysisConfigurator.addSelector('eleTausDecayFound','PATEleTauPairSelector','abs(leg2.userFloat("dZ"))<0.2&&leg2.tauID("decayModeFinding")','ETTauDecayFound',1) ETanalysisConfigurator.addSelector('eleTausVLooseIsolation','PATEleTauPairSelector','leg2.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits")<10','ETTauVLooseMVAIso',1) ETanalysisConfigurator.addSelector('eleTausTauMuonVeto','PATEleTauPairSelector','leg2.tauID("againstMuonLoose2")','ETAgainstMuon',1) ETanalysisConfigurator.addSelector('eleTausTauElectronVeto','PATEleTauPairSelector','leg2.userInt("againstEleMVALoose")>0&&(!(leg2.userFloat("zIP")>-1.5&&leg2.userFloat("zIP")<0.5))','ETAgainstElectron',1) ETanalysisConfigurator.addEleTauSVFitSA('eleTausSVFit') ETanalysisConfigurator.addSorter('eleTausSorted','PATEleTauPairSorter') ETanalysisConfigurator.addSelector('eleTausTauElectronVetoM','PATEleTauPairSelector','leg2.userInt("againstEleMVAMedium")>0','ETAgainstElectronM',1) ETanalysisConfigurator.addSelector('eleTausEleIsolation','PATEleTauPairSelector','(leg1.userIso(0)+max(leg1.userIso(1)+leg1.neutralHadronIso()-0.5*leg1.userIso(2),0.0))/leg1.pt()<0.1','electronIsolation',1) ETanalysisConfigurator.addSelector('eleTausLooseIsolation','PATEleTauPairSelector','leg2.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits")<1.5','ETTauLooseIso',1) ETanalysisConfigurator.addSelector('eleTausEleTrigMatch','PATEleTauPairSelector','leg1.userFloat("hltOverlapFilterIsoEle20LooseIsoPFTau20")>0||leg1.userFloat("hltOverlapFilterIsoEle20WP90LooseIsoPFTau20")>0','ETEleTrigMatch',1) ETanalysisConfigurator.addSelector('eleTausTauTrigMatch','PATEleTauPairSelector','leg2.userFloat("hltOverlapFilterIsoEle20LooseIsoPFTau20")>0||leg2.userFloat("hltOverlapFilterIsoEle20WP90LooseIsoPFTau20")>0','ETTauTrigMatch',1) #ETanalysisConfigurator.addSelector('eleTausWRej','PATEleTauPairSelector','mt1MET<40||pZeta-1.5*pZetaVis>-20','ETWRejection',1) ETanalysisConfigurator.addSelector('eleTausOS','PATEleTauPairSelector','charge==0','ETOS',1) #create the sequence selectionSequenceET =ETanalysisConfigurator.returnSequence() ################################ Mu-Tau ################################### MTanalysisConfigurator = CutSequenceProducer(initialCounter = 'initialEventsMT',
'eleTausDecayFound', 'PATEleTauPairSelector', 'abs(leg2.userFloat("dZ"))<0.2&&leg2.tauID("decayModeFinding")', 'ETTauDecayFound', 1) ETanalysisConfigurator.addSelector( 'eleTausVLooseIsolation', 'PATEleTauPairSelector', 'leg2.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits")<10', 'ETTauVLooseMVAIso', 1) ETanalysisConfigurator.addSelector('eleTausTauMuonVeto', 'PATEleTauPairSelector', 'leg2.tauID("againstMuonLoose2")', 'ETAgainstMuon', 1) ETanalysisConfigurator.addSelector( 'eleTausTauElectronVeto', 'PATEleTauPairSelector', 'leg2.userInt("againstEleMVALoose")>0&&(!(leg2.userFloat("zIP")>-1.5&&leg2.userFloat("zIP")<0.5))', 'ETAgainstElectron', 1) ETanalysisConfigurator.addEleTauSVFitSA('eleTausSVFit') ETanalysisConfigurator.addSorter('eleTausSorted', 'PATEleTauPairSorter') ETanalysisConfigurator.addSelector('eleTausTauElectronVetoM', 'PATEleTauPairSelector', 'leg2.userInt("againstEleMVAMedium")>0', 'ETAgainstElectronM', 1) ETanalysisConfigurator.addSelector( 'eleTausEleIsolation', 'PATEleTauPairSelector', '(leg1.userIso(0)+max(leg1.userIso(1)+leg1.neutralHadronIso()-0.5*leg1.userIso(2),0.0))/leg1.pt()<0.1', 'electronIsolation', 1) ETanalysisConfigurator.addSelector( 'eleTausLooseIsolation', 'PATEleTauPairSelector', 'leg2.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits")<1.5', 'ETTauLooseIso', 1) ETanalysisConfigurator.addSelector( 'eleTausEleTrigMatch', 'PATEleTauPairSelector',
1, ) ETanalysisConfigurator.addSelector( "eleTausVLooseIsolation", "PATEleTauPairSelector", 'leg2.tauID("byIsolationMVAraw")>0.7', "ETTauVLooseMVAIso", 1 ) ETanalysisConfigurator.addSelector( "eleTausTauMuonVeto", "PATEleTauPairSelector", 'leg2.tauID("againstMuonLoose")', "ETAgainstMuon", 1 ) ETanalysisConfigurator.addSelector( "eleTausTauElectronVeto", "PATEleTauPairSelector", 'leg2.tauID("againstElectronMedium")&&leg2.tauID("againstElectronMVA")', "ETAgainstElectron", 1, ) ETanalysisConfigurator.addEleTauSVFitSA("eleTausSVFit") ETanalysisConfigurator.addSorter("eleTausSorted", "PATEleTauPairSorter") ETanalysisConfigurator.addSelector( "eleTausEleTrigMatch", "PATEleTauPairSelector", 'leg1.userFloat("hltOverlapFilterIsoEle20LooseIsoPFTau20")>0||leg1.userFloat("hltOverlapFilterIsoEle20WP90LooseIsoPFTau20")>0', "ETEleTrigMatch", 1, ) ETanalysisConfigurator.addSelector( "eleTausTauTrigMatch", "PATEleTauPairSelector", 'leg2.userFloat("hltOverlapFilterIsoEle20LooseIsoPFTau20")>0||leg2.userFloat("hltOverlapFilterIsoEle20WP90LooseIsoPFTau20")>0', "ETTauTrigMatch", 1, )
pyNameSpace = locals()) analysisConfigurator.addSmearing('patOverloadedTaus','patMuonsForAnalysis','convRejElectrons','patOverloadedJets','METInputTag') #create dielectrons analysisConfigurator.addDiCandidateModule('diElectrons','PATElePairProducer', 'smearedElectrons','smearedElectrons','smearedMET','smearedJets',0,9999,text = '',leadingObjectsOnly = False,dR = 0.15,recoMode = "") analysisConfigurator.addSelector('osDiElectrons','PATElePairSelector','leg1.pt()>15&&leg2.pt()>15&&charge==0&&(leg1.userFloat("WWID")>0||leg1.userFloat("WWMVAID")>0)&&leg2.userFloat("wp95")>0&&(leg1.chargedHadronIso()+max(leg1.photonIso()+leg1.neutralHadronIso()-0.5*leg1.userIso(0),0.0))/leg1.pt()<0.25&&(leg2.chargedHadronIso()+max(leg2.photonIso()+leg2.neutralHadronIso()-0.5*leg2.userIso(0),0.0))/leg2.pt()<0.25','ZEEVEto',0,100) #Make DiTaus analysisConfigurator.addDiCandidateModule('eleTaus','PATEleTauPairProducer', 'smearedElectrons','smearedTaus','smearedMET','smearedJets',1,9999,text = 'AtLeastOneEleTau',leadingObjectsOnly = False,dR = 0.5,recoMode = "",genParticles='genDaughters') analysisConfigurator.addSelector('eleTausWW','PATEleTauPairSelector','leg1.userFloat("WWID")>0||leg1.userFloat("WWMVAID")>0','WWElectronID',1) analysisConfigurator.addSelector('eleTausElePtEta','PATEleTauPairSelector','leg1.pt()>20&&abs(leg1.eta())<2.1','electronPtEta',1) #analysisConfigurator.addSelector('eleTausEleIsolation','PATEleTauPairSelector','(leg1.chargedHadronIso()+max(leg1.photonIso()+leg1.neutralHadronIso()-0.5*leg1.particleIso(),0.0))/leg1.pt()<0.1','electronIsolation',1) analysisConfigurator.addSelector('eleTausTauPtEta','PATEleTauPairSelector','leg2.tauID("decayModeFinding")&&leg2.pt()>20&&abs(leg2.eta())<2.3','TauDecayFound',1) analysisConfigurator.addSelector('eleTausVLooseIsolation','PATEleTauPairSelector','leg2.tauID("byVLooseCombinedIsolationDeltaBetaCorr")>0','TauLooseIso',1) #analysisConfigurator.addSelector('eleTausLooseIsolation','PATEleTauPairSelector','leg2.tauID("byLooseCombinedIsolationDeltaBetaCorr")>0','TauLooseIso',1) analysisConfigurator.addSelector('eleTausTauMuonVeto','PATEleTauPairSelector','leg2.tauID("againstMuonLoose")','AgainstMuon',1) analysisConfigurator.addSelector('eleTausTauElectronVeto','PATEleTauPairSelector','leg2.tauID("againstElectronMedium")','AgainstElectron',1) analysisConfigurator.addEleTauSVFitSA('eleTausNSVFit') analysisConfigurator.addSorter('eleTausSorted','PATEleTauPairSorter') analysisConfigurator.addSelector('eleTausOS','PATEleTauPairSelector','charge==0','OS',1) #create the sequence selectionSequence =analysisConfigurator.returnSequence()