Changeset 557 in svn
- Timestamp:
- Feb 24, 2010, 5:24:16 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Delphes.cpp
r555 r557 626 626 elementElec->PhiCalo = electron[i].PhiCalo(); 627 627 elementElec->Charge = - sign(electron[i].PID()); 628 elementElec->IsolFlag = DET->Isolation(electron[i],TrackCentral,DET->ISOL_ PT,DET->ISOL_Cone,ptisoEl);628 elementElec->IsolFlag = DET->Isolation(electron[i],TrackCentral,DET->ISOL_trk_PT,ptisoEl); 629 629 630 630 int electron_tower_index = DET->BinEtaPhi(elementElec->PhiCalo,elementElec->EtaCalo,iPhiEl,iEtaEl); … … 646 646 elementMu->EtaCalo = muon[i].EtaCalo(); 647 647 elementMu->PhiCalo = muon[i].PhiCalo(); 648 elementMu->IsolFlag = DET->Isolation(muon[i],TrackCentral,DET->ISOL_ PT,DET->ISOL_Cone,ptisoMu);648 elementMu->IsolFlag = DET->Isolation(muon[i],TrackCentral,DET->ISOL_trk_PT,ptisoMu); 649 649 elementMu->SumPt = ptisoMu; 650 650 elementMu->SumEt = DET->IsolationSumEt(iPhiMu,iEtaMu, list_of_active_towers); -
trunk/data/DetectorCard.dat
r551 r557 78 78 79 79 # Charged lepton isolation. Pt and Et in GeV 80 ISOL_ PT2.0 //minimal pt of tracks for isolation criteria81 ISOL_ Cone0.5 //Cone for isolation criteria82 ISOL_ Calo_ET 2.0 //minimal tower transverse energy for isolation criteria. 1E99 means "off"83 ISOL_ Calo_Cone 0.4 //Cone for calorimetric isolation84 ISOL_ Calo_Grid 3 //Grid size (N x N) for calorimetric isolation80 ISOL_trk_PT 2.0 //minimal pt of tracks for isolation criteria 81 ISOL_trk_Cone 0.5 //Cone for isolation criteria 82 ISOL_calo_Cone 0.5 //Cone for isolation criteria 83 ISOL_calo_ET 1E99 //minimal tower transverse energy for isolation criteria. 1E99 means "off" 84 ISOL_calo_Grid 3 //Grid size (N x N) for calorimetric isolation 85 85 86 86 # General jet variable -
trunk/data/DetectorCard_ATLAS.dat
r547 r557 78 78 79 79 # Charged lepton isolation. Pt and Et in GeV 80 ISOL_ PT2.0 //minimal pt of tracks for isolation criteria81 ISOL_ Cone0.5 //Cone for isolation criteria82 ISOL_ Calo_ET 1E99 //minimal tower transverse energy for isolation criteria. 1E99 means "off"83 ISOL_ Calo_Cone 0.4 //Cone for calorimetric isolation84 ISOL_ Calo_Grid 3 //Grid size (N x N) for calorimetric isolation80 ISOL_trk_PT 2.0 //minimal pt of tracks for isolation criteria 81 ISOL_trk_Cone 0.5 //Cone for isolation criteria 82 ISOL_calo_Cone 0.5 //Cone for isolation criteria 83 ISOL_calo_ET 1E99 //minimal tower transverse energy for isolation criteria. 1E99 means "off" 84 ISOL_calo_Grid 3 //Grid size (N x N) for calorimetric isolation 85 85 86 86 # General jet variable -
trunk/data/DetectorCard_CMS.dat
r547 r557 78 78 79 79 # Charged lepton isolation. Pt and Et in GeV 80 ISOL_ PT2.0 //minimal pt of tracks for isolation criteria81 ISOL_ Cone0.5 //Cone for isolation criteria82 ISOL_ Calo_ET 1E99 //minimal tower transverse energy for isolation criteria. 1E99 means "off"83 ISOL_ Calo_Cone 0.4 //Cone for calorimetric isolation84 ISOL_ Calo_Grid 3 //Grid size (N x N) for calorimetric isolation80 ISOL_trk_PT 2.0 //minimal pt of tracks for isolation criteria 81 ISOL_trk_Cone 0.5 //Cone for isolation criteria 82 ISOL_calo_Cone 0.5 //Cone for isolation criteria 83 ISOL_calo_ET 1E99 //minimal tower transverse energy for isolation criteria. 1E99 means "off" 84 ISOL_calo_Grid 3 //Grid size (N x N) for calorimetric isolation 85 85 86 86 # General jet variable -
trunk/interface/SmearUtil.h
r555 r557 184 184 float ZDC_n_E; // minimal energy of neutrons for reconstruction in ZDC 185 185 186 float ISOL_PT; //minimal pt of tracks for isolation criteria 187 float ISOL_Cone; //Cone for isolation criteria 188 float ISOL_Calo_ET; //minimal tower energy for isolation criteria 189 unsigned int ISOL_Calo_Grid; //Grid size (N x N) for calorimetric isolation 186 float ISOL_trk_PT; //minimal pt of tracks for isolation criteria 187 float ISOL_trk_Cone; //Cone for tracking isolation criteria 188 float ISOL_calo_Cone; //Cone for tracking isolation criteria 189 float ISOL_calo_ET; //minimal tower energy for isolation criteria 190 unsigned int ISOL_calo_Grid; //Grid size (N x N) for calorimetric isolation 190 191 191 192 … … 275 276 276 277 /// Lepton isolation based on tracking 277 bool Isolation(const D_Particle& part, const vector<TRootTracks> &tracks, const float& pt_second_track, const float& isolCone,float& ptiso);278 bool Isolation(const D_Particle& part, const vector<TRootTracks> &tracks, const float& pt_second_track, float& ptiso); 278 279 279 280 /// Lepton isolation based on calorimetry (optional. Default: off) -
trunk/src/LHCOConverter.cc
r443 r557 299 299 << setw(7) << (float)closest_jet_ID << " "; 300 300 outfile << fixed << setprecision(0) 301 << setw(4) << floor(muon-> IsolPt) << "." << ratio_string<<" "; // E_had/E_em301 << setw(4) << floor(muon->SumPt) << "." << ratio_string<<" "; // E_had/E_em 302 302 outfile << fixed << setprecision(3) 303 303 << setw(7) << 0.0 << setw(7) << 0.0 // dummy/dummy -
trunk/src/SmearUtil.cc
r556 r557 129 129 130 130 // Isolation 131 ISOL_PT = 2.0; //minimal pt of tracks for isolation criteria 132 ISOL_Cone = 0.5; //Cone for isolation criteria 133 ISOL_Calo_ET = 1E99; //minimal tower energy for isolation criteria. Default off = 1E99 134 ISOL_Calo_Grid = 3; //Grid size (N x N) for calorimetric isolation -- should be odd 131 ISOL_trk_PT = 2.0; //minimal pt of tracks for isolation criteria 132 ISOL_trk_Cone = 0.5; //Cone for isolation criteria 133 ISOL_calo_Cone = 0.5; //Cone for isolation criteria 134 ISOL_calo_ET = 1E99; //minimal tower energy for isolation criteria. Default off = 1E99 135 ISOL_calo_Grid = 3; //Grid size (N x N) for calorimetric isolation -- should be odd 135 136 136 137 // General jet variable … … 291 292 292 293 // Isolation 293 ISOL_PT = DET.ISOL_PT; // tracking isolation 294 ISOL_Cone = DET.ISOL_Cone; 295 ISOL_Calo_ET = DET.ISOL_Calo_ET; // calorimeter isolation, defaut off 296 ISOL_Calo_Grid = DET.ISOL_Calo_Grid; 294 ISOL_trk_PT = DET.ISOL_trk_PT; // tracking isolation 295 ISOL_trk_Cone = DET.ISOL_trk_Cone; 296 ISOL_calo_Cone = DET.ISOL_calo_Cone; 297 ISOL_calo_ET = DET.ISOL_calo_ET; // calorimeter isolation, defaut off 298 ISOL_calo_Grid = DET.ISOL_calo_Grid; 297 299 298 300 … … 447 449 448 450 // Isolation 449 ISOL_PT = DET.ISOL_PT; // tracking isolation 450 ISOL_Cone = DET.ISOL_Cone; 451 ISOL_Calo_ET = DET.ISOL_Calo_ET; // calorimeter isolation, defaut off 452 ISOL_Calo_Grid = DET.ISOL_Calo_Grid; 451 ISOL_trk_PT = DET.ISOL_trk_PT; // tracking isolation 452 ISOL_trk_Cone = DET.ISOL_trk_Cone; 453 ISOL_calo_Cone = DET.ISOL_calo_Cone; 454 ISOL_calo_ET = DET.ISOL_calo_ET; // calorimeter isolation, defaut off 455 ISOL_calo_Grid = DET.ISOL_calo_Grid; 453 456 454 457 // General jet variable … … 655 658 else if(strstr(temp_string.c_str(),"ZDC_n_E")) {curstring >> varname >> value; ZDC_n_E = value;} 656 659 657 else if(strstr(temp_string.c_str(),"ISOL_PT")) {curstring >> varname >> value; ISOL_PT = value;} 658 else if(strstr(temp_string.c_str(),"ISOL_Cone")) {curstring >> varname >> value; ISOL_Cone = value;} 659 else if(strstr(temp_string.c_str(),"ISOL_Calo_ET")) {curstring >> varname >> value; ISOL_Calo_ET = value;} 660 else if(strstr(temp_string.c_str(),"ISOL_Calo_Grid")) {curstring >> varname >> ivalue; ISOL_Calo_Grid = ivalue;} 660 else if(strstr(temp_string.c_str(),"ISOL_trk_PT")) {curstring >> varname >> value; ISOL_trk_PT = value;} 661 else if(strstr(temp_string.c_str(),"ISOL_trk_Cone")) {curstring >> varname >> value; ISOL_trk_Cone = value;} 662 else if(strstr(temp_string.c_str(),"ISOL_calo_Cone")) {curstring >> varname >> value; ISOL_calo_Cone = value;} 663 else if(strstr(temp_string.c_str(),"ISOL_calo_ET")) {curstring >> varname >> value; ISOL_calo_ET = value;} 664 else if(strstr(temp_string.c_str(),"ISOL_calo_Grid")) {curstring >> varname >> ivalue; ISOL_calo_Grid = ivalue;} 661 665 662 666 else if(strstr(temp_string.c_str(),"JET_coneradius")) {curstring >> varname >> value; JET_coneradius = value;} … … 699 703 } 700 704 701 if(ISOL_ Calo_Grid%2 ==0) {702 ISOL_ Calo_Grid++;703 cout <<"** WARNING: ISOL_Calo_Grid is not odd. Set it to "<< ISOL_ Calo_Grid << " **" << endl;705 if(ISOL_calo_Grid%2 ==0) { 706 ISOL_calo_Grid++; 707 cout <<"** WARNING: ISOL_Calo_Grid is not odd. Set it to "<< ISOL_calo_Grid << " **" << endl; 704 708 } 705 709 … … 1061 1065 f_out<<"#******************* *"<<"\n"; 1062 1066 f_out<<"* *"<<"\n"; 1063 f_out << left << setw(40) <<"* Minimum pT for tracks [GeV]: "<<"" 1064 << left << setw(20) <<ISOL_PT <<""<< right << setw(10)<<"*"<<"\n"; 1065 f_out << left << setw(40) <<"* Cone for isolation criteria: "<<"" 1066 << left << setw(20) <<ISOL_Cone <<""<< right << setw(10)<<"*"<<"\n"; 1067 1068 if(ISOL_Calo_ET > 1E98) f_out<<"# No Calorimetric isolation applied *"<<"\n"; 1067 f_out << left << setw(40) <<"* Minimum pT for tracking isolation [GeV]: "<<"" 1068 << left << setw(20) <<ISOL_trk_PT <<""<< right << setw(10)<<"*"<<"\n"; 1069 f_out << left << setw(40) <<"* Cone for tracking isolation criteria: "<<"" 1070 << left << setw(20) <<ISOL_trk_Cone <<""<< right << setw(10)<<"*"<<"\n"; 1071 f_out << left << setw(40) <<"* Cone for calorimetric isolation criteria: "<<"" 1072 << left << setw(20) <<ISOL_calo_Cone <<""<< right << setw(10)<<"*"<<"\n"; 1073 1074 1075 if(ISOL_calo_ET > 1E98) f_out<<"# No Calorimetric isolation applied *"<<"\n"; 1069 1076 else { 1070 1077 f_out << left << setw(40) <<"* Minimum ET for towers [GeV]: "<<"" 1071 << left << setw(20) <<ISOL_ Calo_ET <<""<< right << setw(10)<<"*"<<"\n";1078 << left << setw(20) <<ISOL_calo_ET <<""<< right << setw(10)<<"*"<<"\n"; 1072 1079 f_out << left << setw(40) <<"* Grid size (NxN) for calorimetric isolation: "<<"" 1073 << left << setw(20) <<ISOL_ Calo_Grid <<""<< right << setw(4)<<"*"<<"\n";1080 << left << setw(20) <<ISOL_calo_Grid <<""<< right << setw(4)<<"*"<<"\n"; 1074 1081 } 1075 1082 … … 1416 1423 //***********************Isolation criteria*********************** 1417 1424 //**************************************************************** 1418 bool RESOLution::Isolation(const D_Particle& part, const vector<TRootTracks> &tracks, const float& pt_second_track, const float& isolCone,float& ptiso )1425 bool RESOLution::Isolation(const D_Particle& part, const vector<TRootTracks> &tracks, const float& pt_second_track, float& ptiso ) 1419 1426 { 1420 1427 bool isolated = false; … … 1433 1440 1434 1441 // as long as (genDeltaR==0) is put above, the particle itself is not taken into account 1435 if( genDeltaR < ISOL_ Cone) ptiso += tracks[i].PT; // dR cut on tracks1442 if( genDeltaR < ISOL_trk_Cone && tracks[i].PT>ISOL_trk_PT) ptiso += tracks[i].PT; // dR cut on tracks 1436 1443 } 1437 if(deltar > isolCone) isolated = true;1444 if(deltar > ISOL_trk_Cone) isolated = true; 1438 1445 return isolated; 1439 1446 } … … 1442 1449 { 1443 1450 float etiso = 0; // sum of all track pt in isolation cone 1444 cout<<"*************************"<<endl;1445 1451 for (unsigned int i=0; i< towers.size(); i++) { 1446 1452 // cout<<" eta part "<<iEta<<" eta tour "<<towers[i].getEta()<<endl; 1447 1453 // cout<<" phi part "<<iPhi<<" phi tour "<<towers[i].getPhi()<<endl; 1448 1454 1449 if(DeltaR(iPhi,iEta,towers[i].getPhi(),towers[i].getEta())<ISOL_Cone) { 1450 cout<<"delta R pour lequel on add "<<DeltaR(iPhi,iEta,towers[i].getPhi(),towers[i].getEta())<<endl; 1455 if(DeltaR(iPhi,iEta,towers[i].getPhi(),towers[i].getEta()) < ISOL_calo_Cone) { 1451 1456 etiso += towers[i].getET(); // dR cut on tracks 1452 1457 } … … 1464 1469 // iTower is the index of the tower, in [0, n_tower]. iTower points only towers in positive range 1465 1470 1466 if(ISOL_ Calo_ET>1E10) return UNDEFINED; // avoid doing anything unreasonable...1471 if(ISOL_calo_ET>1E10) return UNDEFINED; // avoid doing anything unreasonable... 1467 1472 float et_sum=0; 1468 1473 1469 unsigned int N = ISOL_ Calo_Grid;1474 unsigned int N = ISOL_calo_Grid; 1470 1475 if(N%2 ==0 || N==0) { cout << "Warning: ISOL_Calo_Grid must be odd. ISOL_Calo_Grid = 3 will be used\n"; N=3;} 1471 1476 int index= iTower; // index of the central tower of the grid in TOWER_eta_edges[.]; … … 1499 1504 // << "calMuon.getEta= " << calMuon.getEta() << "\tcalMuon.getPhi()= " << calMuon.getPhi() <<"\t"; 1500 1505 1501 if(calMuon.getEta() != UNDEFINED && calMuon.getET() > ISOL_ Calo_ET) {1506 if(calMuon.getEta() != UNDEFINED && calMuon.getET() > ISOL_calo_ET) { 1502 1507 et_sum += calMuon.getET(); 1503 1508 //cout << calMuon.getET() << " GeV";
Note:
See TracChangeset
for help on using the changeset viewer.