69 TString
fileName =
"root://eosatlas.cern.ch//eos/atlas/atlastier0/tzero/prod/valid1/PowhegPythia8_AU2CT10_Zmumu/147807/valid1.147807.PowhegPythia8_AU2CT10_Zmumu.recon.AOD.e2658_s1967_s1964_r5787_v114/valid1.147807.PowhegPythia8_AU2CT10_Zmumu.recon.AOD.e2658_s1967_s1964_r5787_v114._000187.1";
77 const TString
tag =
"t2_";
79 std::unique_ptr< TFile >
ifile( TFile::Open(
fileName,
"READ" ) );
87 selTool.setProperty(
"maxZ0SinTheta", 3.);
88 selTool.setProperty(
"minPt", 1000.);
89 selTool.setProperty(
"CutLevel",
"Loose");
95 m_trkIsoTool.setProperty(
"TrackSelectionTool", ToolHandle< InDet::IInDetTrackSelectionTool >(selTool.name()) );
97 if(!m_caloIsoTool.initialize().isSuccess()){
101 if(!selTool.initialize().isSuccess()){
105 if(!m_trkIsoTool.initialize().isSuccess()){
109 vector<xAOD::Iso::IsolationType> isoTypes;
116 vector<xAOD::Iso::IsolationType> isoTypesCalo;
124 vector<xAOD::Iso::IsolationType> isoTypesPFlow;
138 Long64_t maxEVT = -1;
139 Long64_t
entries =
event.getEntries();
140 if((
entries < maxEVT) || (maxEVT <= 0)) {
144 const int INTERVAL = maxEVT > 20000? 10000: maxEVT/10;
146 event.getEntry(
entry );
151 if(
entry%INTERVAL==0){
168 for(
auto muon: *muons){
171 if(m_trkIsoTool.trackIsolation(
result, *
muon, isoTypes, corrlist)){
172 for(
unsigned int i=0;
i<isoTypes.size();
i++){
174 float isoV =
result.ptvarcones_10GeVDivPt[
i];
177 Info(
APP_NAME,
"Muon track isolation %d is %f and %f (=%f?)",
i, iso, isoV, value0);
181 if(m_caloIsoTool.caloTopoClusterIsolation(result2, *
muon, isoTypesCalo, corrlist2)){
182 for(
unsigned int i=0;
i<isoTypesCalo.size();
i++){
189 if(m_caloIsoTool.neutralEflowIsolation(result3, *
muon, isoTypesPFlow, corrlist3)){
190 for(
unsigned int i=0;
i<isoTypesPFlow.size();
i++){
201 if(m_trkIsoTool.trackIsolation(
result, *
electron, isoTypes, corrlist)){
202 for(
unsigned int i=0;
i<isoTypes.size();
i++){
204 float isoV =
result.ptvarcones_10GeVDivPt[
i];
207 Info(
APP_NAME,
"Electron track isolation %d is %f and %f (=%f?)",
i, iso, isoV, value0);
211 if(m_caloIsoTool.caloTopoClusterIsolation(result2, *
electron, isoTypesCalo, corrlist2)){
212 for(
unsigned int i=0;
i<isoTypesCalo.size();
i++){
221 for(
auto photon: *photons){
224 if(m_trkIsoTool.trackIsolation(
result, *
photon, isoTypes, corrlist)){
225 for(
unsigned int i=0;
i<isoTypes.size();
i++){
227 float isoV =
result.ptvarcones_10GeVDivPt[
i];
230 Info(
APP_NAME,
"Photon track isolation %d is %f and %f (=%f?)",
i, iso, isoV, value0);
234 if(m_caloIsoTool.caloTopoClusterIsolation(result2, *
photon, isoTypesCalo, corrlist2)){
235 for(
unsigned int i=0;
i<isoTypesCalo.size();
i++){