61 |
|
TRandom3 r; |
62 |
|
|
63 |
|
if( ctrl.debug ) { |
64 |
+ |
cout << "-----------------------------------------------------------------" << endl; |
65 |
+ |
cout << "-----------------------------------------------------------------" << endl; |
66 |
|
cout << "Run: " << info->RunNum() |
67 |
|
<< "\tEvt: " << info->EvtNum() |
68 |
|
<< "\tLumi: " << info->LumiSec() |
69 |
|
<< endl; |
70 |
+ |
cout << "-----------------------------------------------------------------" << endl; |
71 |
|
} |
72 |
|
|
73 |
|
if( !ctrl.mc ) { |
80 |
|
} |
81 |
|
} |
82 |
|
|
83 |
< |
mithep::MuonTools::EMuonEffectiveAreaTarget eraMu = mithep::MuonTools::kMuEAData2011; |
84 |
< |
mithep::ElectronTools::EElectronEffectiveAreaTarget eraEle = mithep::ElectronTools::kEleEAData2011; |
85 |
< |
if( ctrl.mc ) { |
86 |
< |
eraMu = mithep::MuonTools::kMuEAFall11MC; |
87 |
< |
eraEle = mithep::ElectronTools::kEleEAFall11MC; |
83 |
> |
mithep::MuonTools::EMuonEffectiveAreaTarget eraMu = mithep::MuonTools::kMuEAFall11MC; |
84 |
> |
mithep::ElectronTools::EElectronEffectiveAreaTarget eraEle = mithep::ElectronTools::kEleEAFall11MC; |
85 |
> |
if( !ctrl.mc ) { |
86 |
> |
eraMu = mithep::MuonTools::kMuEAData2011; |
87 |
> |
eraEle = mithep::ElectronTools::kEleEAData2011; |
88 |
|
} |
89 |
|
|
90 |
|
|
104 |
|
return ret; |
105 |
|
} |
106 |
|
} |
107 |
+ |
*/ |
108 |
+ |
|
109 |
|
if( ctrl.debug ) { |
110 |
|
cout << "presel nlep: " << muonArr->GetEntries() + electronArr->GetEntries() |
111 |
|
<< "\tnmuon: " << muonArr->GetEntries() |
112 |
|
<< "\tnelectron: " << electronArr->GetEntries() |
113 |
|
<< endl; |
114 |
|
} |
115 |
< |
*/ |
115 |
> |
|
116 |
|
|
117 |
|
//******************************************************** |
118 |
|
// Lepton Selection |
122 |
|
// do something hacky for vetos for now |
123 |
|
vector<const mithep::Muon*> muonsToVeto; |
124 |
|
vector<const mithep::Electron*> electronsToVeto; |
125 |
+ |
if( ctrl.debug ) cout << "looping for isolation ..." << endl; |
126 |
|
for(Int_t i=0; i<muonArr->GetEntries(); i++) |
127 |
|
{ |
128 |
|
const mithep::Muon *mu = (mithep::Muon*)((*muonArr)[i]); |
130 |
|
musel |= (*MuonPreSelector)(ctrl,mu,vtx,pfCandidates); |
131 |
|
if( !(musel.getStatus() & SelectionStatus::PRESELECTION) ) continue; |
132 |
|
musel |= (*MuonIDSelector)(ctrl,mu,vtx ); |
133 |
< |
if( musel.getStatus() == SelectionStatus::TIGHTIDANDPRE ) |
133 |
> |
if(ctrl.debug) cout << "status : " << musel.getStatus() << endl; |
134 |
> |
if( musel.tightIDAndPre() ) { |
135 |
> |
if(ctrl.debug) cout << "pushing mu for isol veto ... " << endl; |
136 |
|
muonsToVeto.push_back( mu ); |
137 |
+ |
} |
138 |
|
} |
139 |
|
for(Int_t i=0; i<electronArr->GetEntries(); i++) |
140 |
|
{ |
143 |
|
esel |= (*ElectronPreSelector)(ctrl,ele,vtx); |
144 |
|
if( !(esel.getStatus() & SelectionStatus::PRESELECTION) ) continue; |
145 |
|
esel |= (*ElectronIDSelector)(ctrl,ele,vtx ); |
146 |
< |
if( esel.getStatus() == SelectionStatus::TIGHTIDANDPRE ) |
146 |
> |
if(ctrl.debug) cout << "status : " << esel.getStatus() << endl; |
147 |
> |
if( esel.tightIDAndPre() ) { |
148 |
> |
if(ctrl.debug) cout << "pushing ele for isol veto ... " << endl; |
149 |
|
electronsToVeto.push_back( ele ); |
150 |
+ |
} |
151 |
|
} |
152 |
+ |
if( ctrl.debug ) cout << "done looping for isolation ..." << endl << endl;; |
153 |
|
|
154 |
|
// |
155 |
|
if( ctrl.debug ) cout << "\tnMuons: " << muonArr->GetEntries() << endl; |
351 |
|
|
352 |
|
float tmpZ1Mass = (*leptonPlus + *leptonMinus).M(); |
353 |
|
if( ctrl.debug ) cout << "Z1 selection, tmpZ1Mass: " << tmpZ1Mass << endl; |
354 |
< |
if( tmpZ1Mass > 60 ) { |
354 |
> |
if( tmpZ1Mass > 50 ) { |
355 |
|
if (fabs(tmpZ1Mass - Z_MASS) < fabs(BestZ1Mass - Z_MASS)) { |
356 |
|
BestZ1Mass = tmpZ1Mass; |
357 |
|
if( ctrl.debug ) cout << "Z1 selection, new BestZ1Mass: " << BestZ1Mass |