#include <vector>
#include <map>
#include "DataFormats/DetId/interface/DetId.h"
#include "DataFormats/HcalDetId/interface/HcalDetId.h"
#include "Calibration/HcalCalibAlgos/src/TCell.h"
#include "DataFormats/GeometryVector/interface/GlobalPoint.h"
#include "DataFormats/GeometryVector/interface/GlobalVector.h"
#include "Geometry/CaloGeometry/interface/CaloGeometry.h"
Go to the source code of this file.
Functions | |
void | combinePhi (std::vector< TCell > &selectCells) |
void | combinePhi (std::vector< TCell > &selectCells, std::vector< TCell > &combinedCells) |
void | filterCells3x3 (std::vector< TCell > &selectCells, Int_t iEta, UInt_t iPhi) |
void | filterCells5x5 (std::vector< TCell > &selectCells, Int_t iEta, UInt_t iPhi) |
void | filterCellsInCone (std::vector< TCell > &selectCells, const GlobalPoint hitPositionHcal, Float_t maxConeDist, const CaloGeometry *theCaloGeometry) |
double | getDistInPlaneSimple (const GlobalPoint caloPoint, const GlobalPoint rechitPoint) |
void | getIEtaIPhiForHighestE (std::vector< TCell > &selectCells, Int_t &iEta, UInt_t &iPhi) |
void | sumDepths (std::vector< TCell > &selectCells) |
void | sumSmallDepths (std::vector< TCell > &selectCells) |
void combinePhi | ( | std::vector< TCell > & | selectCells | ) |
void filterCells3x3 | ( | std::vector< TCell > & | selectCells, |
Int_t | iEta, | ||
UInt_t | iPhi | ||
) |
Referenced by hcalCalib::Process().
void filterCells5x5 | ( | std::vector< TCell > & | selectCells, |
Int_t | iEta, | ||
UInt_t | iPhi | ||
) |
Referenced by hcalCalib::Process().
void filterCellsInCone | ( | std::vector< TCell > & | selectCells, |
const GlobalPoint | hitPositionHcal, | ||
Float_t | maxConeDist, | ||
const CaloGeometry * | theCaloGeometry | ||
) |
Definition at line 341 of file hcalCalibUtils.cc.
References getDistInPlaneSimple(), CaloGeometry::getPosition(), and diJetCalib::maxConeDist.
Referenced by hcalCalib::Process().
{ vector<TCell> filteredCells; for (vector<TCell>::iterator it=selectCells.begin(); it!=selectCells.end(); ++it) { const GlobalPoint recHitPoint = theCaloGeometry->getPosition(it->id()); if (getDistInPlaneSimple(hitPositionHcal, recHitPoint)<= maxConeDist) filteredCells.push_back(*it); } selectCells = filteredCells; return; }
double getDistInPlaneSimple | ( | const GlobalPoint | caloPoint, |
const GlobalPoint | rechitPoint | ||
) | [inline] |
Definition at line 9 of file ConeDefinition.h.
References Vector3DBase< T, FrameTag >::dot(), PV3DBase< T, PVType, FrameType >::mag(), Vector3DBase< T, FrameTag >::unit(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by HcalIsoTrkAnalyzer::analyze(), HcalCorrPFCalculation::analyze(), ValidIsoTrkCalib::analyze(), and filterCellsInCone().
{ // Simplified version of getDistInPlane // Assume track direction is origin -> point of hcal intersection const GlobalVector caloIntersectVector(caloPoint.x(), caloPoint.y(), caloPoint.z()); const GlobalVector caloIntersectUnitVector = caloIntersectVector.unit(); const GlobalVector rechitVector(rechitPoint.x(), rechitPoint.y(), rechitPoint.z()); const GlobalVector rechitUnitVector = rechitVector.unit(); double dotprod = caloIntersectUnitVector.dot(rechitUnitVector); double rechitdist = caloIntersectVector.mag()/dotprod; const GlobalVector effectiveRechitVector = rechitdist*rechitUnitVector; const GlobalPoint effectiveRechitPoint(effectiveRechitVector.x(), effectiveRechitVector.y(), effectiveRechitVector.z()); GlobalVector distance_vector = effectiveRechitPoint-caloPoint; if (dotprod > 0.) { return distance_vector.mag(); } else { return 999999.; } }
void getIEtaIPhiForHighestE | ( | std::vector< TCell > & | selectCells, |
Int_t & | iEta, | ||
UInt_t & | iPhi | ||
) |
Referenced by hcalCalib::Process().
void sumDepths | ( | std::vector< TCell > & | selectCells | ) |
void sumSmallDepths | ( | std::vector< TCell > & | selectCells | ) |