CMS 3D CMS Logo

Public Member Functions | Private Attributes | Friends

PHcalValidInfoLayer Class Reference

#include <PValidationFormats.h>

List of all members.

Public Member Functions

std::vector< float > edepth () const
float eebee () const
float eecalhf () const
float ehbhe () const
float ehcalhf () const
std::vector< float > eHit () const
float eho () const
std::vector< float > elayer () const
float elonghf () const
float eshorthf () const
std::vector< float > etaHit () const
void fillHF (double fibl, double fibs, double enec, double enhc)
void fillHits (int Nhits, int lay, int unitID, double eta, double phi, double ehit, double t)
void fillLayers (double el[], double ed[], double ho, double hbhe, double ebee)
std::vector< float > idHit () const
std::vector< float > layerHit () const
int nHit () const
 PHcalValidInfoLayer ()
std::vector< float > phiHit () const
std::vector< float > tHit () const
virtual ~PHcalValidInfoLayer ()

Private Attributes

std::vector< float > eDepth
float eEBEE
float eEcalHF
float eHBHE
float eHcalHF
float eHO
std::vector< float > eLayer
float elongHF
float eshortHF
std::vector< float > hitE
std::vector< float > hitEta
std::vector< float > hitId
std::vector< float > hitLayer
int hitN
std::vector< float > hitPhi
std::vector< float > hitTime

Friends

class SimG4HcalValidation

Detailed Description

Definition at line 1235 of file PValidationFormats.h.


Constructor & Destructor Documentation

PHcalValidInfoLayer::PHcalValidInfoLayer ( ) [inline]

Definition at line 1241 of file PValidationFormats.h.

                       : hitN(0), eHO(0.0),eHBHE(0.0),eEBEE(0.0),elongHF(0.0),
                         eshortHF(0.0), eEcalHF(0.0), eHcalHF(0.0) {}
virtual PHcalValidInfoLayer::~PHcalValidInfoLayer ( ) [inline, virtual]

Definition at line 1243 of file PValidationFormats.h.

{}

Member Function Documentation

std::vector<float> PHcalValidInfoLayer::edepth ( ) const [inline]

Definition at line 1257 of file PValidationFormats.h.

References eDepth.

{return eDepth;}
float PHcalValidInfoLayer::eebee ( ) const [inline]

Definition at line 1250 of file PValidationFormats.h.

References eEBEE.

{return eEBEE;}    
float PHcalValidInfoLayer::eecalhf ( ) const [inline]

Definition at line 1253 of file PValidationFormats.h.

References eEcalHF.

{return eEcalHF;}    
float PHcalValidInfoLayer::ehbhe ( ) const [inline]

Definition at line 1249 of file PValidationFormats.h.

References eHBHE.

{return eHBHE;}    
float PHcalValidInfoLayer::ehcalhf ( ) const [inline]

Definition at line 1254 of file PValidationFormats.h.

References eHcalHF.

{return eHcalHF;}    
std::vector<float> PHcalValidInfoLayer::eHit ( ) const [inline]

Definition at line 1261 of file PValidationFormats.h.

References hitE.

{return hitE;} 
float PHcalValidInfoLayer::eho ( ) const [inline]

Definition at line 1248 of file PValidationFormats.h.

References eHO.

{return eHO;}    
std::vector<float> PHcalValidInfoLayer::elayer ( ) const [inline]

Definition at line 1256 of file PValidationFormats.h.

References eLayer.

{return eLayer;}
float PHcalValidInfoLayer::elonghf ( ) const [inline]

Definition at line 1251 of file PValidationFormats.h.

References elongHF.

{return elongHF;}    
float PHcalValidInfoLayer::eshorthf ( ) const [inline]

Definition at line 1252 of file PValidationFormats.h.

References eshortHF.

{return eshortHF;}    
std::vector<float> PHcalValidInfoLayer::etaHit ( ) const [inline]

Definition at line 1259 of file PValidationFormats.h.

References hitEta.

{return hitEta;} 
void PHcalValidInfoLayer::fillHF ( double  fibl,
double  fibs,
double  enec,
double  enhc 
)

Definition at line 433 of file HcalFlexiHardcodeGeometryLoader.cc.

References funct::cos(), gather_cfg::cout, HcalFlexiHardcodeGeometryLoader::DEGREE2RAD, HcalFlexiHardcodeGeometryLoader::HFCellParameters::depth, HcalFlexiHardcodeGeometryLoader::HFCellParameters::dphi, HcalFlexiHardcodeGeometryLoader::HFCellParameters::eta, PV3DBase< T, PVType, FrameType >::eta(), CaloCellGeometry::getParmPtr(), HcalForward, SurfaceOrientation::inner, HcalFlexiHardcodeGeometryLoader::MAX_HCAL_PHI, CaloSubdetectorGeometry::newCell(), SurfaceOrientation::outer, CaloSubdetectorGeometry::parMgr(), CaloSubdetectorGeometry::parVecVec(), perp(), HcalFlexiHardcodeGeometryLoader::HFCellParameters::phiFirst, HcalFlexiHardcodeGeometryLoader::HFCellParameters::phiStep, HcalFlexiHardcodeGeometryLoader::HFCellParameters::rMax, HcalFlexiHardcodeGeometryLoader::HFCellParameters::rMin, funct::sin(), x, detailsBasic3DVector::y, PV3DBase< T, PVType, FrameType >::z(), z, HcalFlexiHardcodeGeometryLoader::HFCellParameters::zMax, and HcalFlexiHardcodeGeometryLoader::HFCellParameters::zMin.

Referenced by SimG4HcalValidation::layerAnalysis().

                                                                                                                                                           {

  for (size_t iCell = 0; iCell < fCells.size(); ++iCell) {
    const HcalFlexiHardcodeGeometryLoader::HFCellParameters& param = fCells[iCell];
    for (int iPhi = param.phiFirst; iPhi <= MAX_HCAL_PHI; iPhi += param.phiStep) {
      for (int iside = -1; iside <= 1; iside += 2) { // both detector sides are identical
        HcalDetId hid (HcalForward, param.eta*iside, iPhi, param.depth);
        float phiCenter = ((iPhi-1)*360./MAX_HCAL_PHI + 0.5*param.dphi) * DEGREE2RAD; // middle of the cell
        GlobalPoint inner (param.rMin, 0, param.zMin);
        GlobalPoint outer (param.rMax, 0, param.zMin);
        float iEta = inner.eta();
        float oEta = outer.eta();
        float etaCenter = 0.5 * ( iEta + oEta );
        
        float perp = param.zMin / sinh (etaCenter);
        float x = perp * cos (phiCenter);
        float y = perp * sin (phiCenter);
        float z = iside * param.zMin;
        // make cell geometry
        GlobalPoint refPoint (x,y,z); // center of the cell's face
        std::vector<CCGFloat> cellParams;
        cellParams.reserve (5);
        cellParams.push_back (0.5 * ( iEta - oEta )); // deta_half
        cellParams.push_back (0.5 * param.dphi * DEGREE2RAD);  // dphi_half
        cellParams.push_back (0.5 * (param.zMax - param.zMin)); // dz_half
        cellParams.push_back ( fabs( refPoint.eta()));
        cellParams.push_back ( fabs( refPoint.z() ) ) ;
#ifdef DebugLog
        std::cout << "HcalFlexiHardcodeGeometryLoader::fillHF-> " << hid << refPoint << '/' << cellParams [0] << '/' << cellParams [1] << '/' << cellParams [2] << std::endl;
#endif  
        fGeometry->newCell(refPoint,  refPoint,  refPoint, 
                           CaloCellGeometry::getParmPtr(cellParams, 
                                                        fGeometry->parMgr(), 
                                                        fGeometry->parVecVec()),
                           hid ) ;
      }
    }
  }
}
void PHcalValidInfoLayer::fillHits ( int  Nhits,
int  lay,
int  unitID,
double  eta,
double  phi,
double  ehit,
double  t 
)

Definition at line 1433 of file PValidationFormats.cc.

References hitE, hitEta, hitId, hitLayer, hitN, hitPhi, and hitTime.

Referenced by SimG4HcalValidation::fetchHits().

                                                                     {

  hitLayer.push_back((float)lay);
  hitId.push_back((float)unitID);
  hitEta.push_back((float)eta);
  hitPhi.push_back((float)phi);
  hitE.push_back((float)ehit);
  hitTime.push_back((float)t);
  hitN++;

  //  std::cout << " fillHits: nHits,hitN = " << nHits << "," << hitN << std::endl;

}
void PHcalValidInfoLayer::fillLayers ( double  el[],
double  ed[],
double  ho,
double  hbhe,
double  ebee 
)

Definition at line 21 of file HcalTestHistoClass.cc.

References HcalTestHistoClass::eHBHE, HcalTestHistoClass::eHO, i, HcalTestHistoClass::layers, LogDebug, HcalTestHistoClass::nLayers, and HcalTestHistoClass::nLayersMAX.

Referenced by SimG4HcalValidation::layerAnalysis().

                                                                   {

  nLayers = 0;
  layers.resize(nLayersMAX);
  for (int i = 0; i < 20; i++) {
    double ed  = 0.001*edepl[i];
    LogDebug("HcalSim") << "HcalTestHistoClass:: fillLayer: nLayers, ed " << i 
                        << " "  << ed;
    if (nLayers < nLayersMAX) {
      layers[i].e = ed;
      layers[i].muDist = muxy[i];
      nLayers++;
    }
  }

  eHO   = edepHO;
  eHBHE = edepHBHE;
}
std::vector<float> PHcalValidInfoLayer::idHit ( ) const [inline]

Definition at line 1264 of file PValidationFormats.h.

References hitId.

{return hitId;} 
std::vector<float> PHcalValidInfoLayer::layerHit ( ) const [inline]

Definition at line 1263 of file PValidationFormats.h.

References hitLayer.

{return hitLayer;} 
int PHcalValidInfoLayer::nHit ( ) const [inline]

Definition at line 1246 of file PValidationFormats.h.

References hitN.

{return hitN;}
std::vector<float> PHcalValidInfoLayer::phiHit ( ) const [inline]

Definition at line 1260 of file PValidationFormats.h.

References hitPhi.

{return hitPhi;} 
std::vector<float> PHcalValidInfoLayer::tHit ( ) const [inline]

Definition at line 1262 of file PValidationFormats.h.

References hitTime.

{return hitTime;} 

Friends And Related Function Documentation

friend class SimG4HcalValidation [friend]

Definition at line 1237 of file PValidationFormats.h.


Member Data Documentation

std::vector<float> PHcalValidInfoLayer::eDepth [private]

Definition at line 1281 of file PValidationFormats.h.

Referenced by edepth().

float PHcalValidInfoLayer::eEBEE [private]

Definition at line 1278 of file PValidationFormats.h.

Referenced by eebee().

Definition at line 1279 of file PValidationFormats.h.

Referenced by eecalhf().

float PHcalValidInfoLayer::eHBHE [private]

Definition at line 1278 of file PValidationFormats.h.

Referenced by ehbhe().

Definition at line 1279 of file PValidationFormats.h.

Referenced by ehcalhf().

float PHcalValidInfoLayer::eHO [private]

Definition at line 1278 of file PValidationFormats.h.

Referenced by eho().

std::vector<float> PHcalValidInfoLayer::eLayer [private]

Definition at line 1280 of file PValidationFormats.h.

Referenced by elayer().

Definition at line 1279 of file PValidationFormats.h.

Referenced by elonghf().

Definition at line 1279 of file PValidationFormats.h.

Referenced by eshorthf().

std::vector<float> PHcalValidInfoLayer::hitE [private]

Definition at line 1287 of file PValidationFormats.h.

Referenced by eHit(), and fillHits().

std::vector<float> PHcalValidInfoLayer::hitEta [private]

Definition at line 1285 of file PValidationFormats.h.

Referenced by etaHit(), and fillHits().

std::vector<float> PHcalValidInfoLayer::hitId [private]

Definition at line 1284 of file PValidationFormats.h.

Referenced by fillHits(), and idHit().

std::vector<float> PHcalValidInfoLayer::hitLayer [private]

Definition at line 1283 of file PValidationFormats.h.

Referenced by fillHits(), and layerHit().

Definition at line 1277 of file PValidationFormats.h.

Referenced by fillHits(), and nHit().

std::vector<float> PHcalValidInfoLayer::hitPhi [private]

Definition at line 1286 of file PValidationFormats.h.

Referenced by fillHits(), and phiHit().

std::vector<float> PHcalValidInfoLayer::hitTime [private]

Definition at line 1288 of file PValidationFormats.h.

Referenced by fillHits(), and tHit().