#include <DreamSD.h>
Public Member Functions | |
DreamSD (const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *) | |
uint32_t | setDetUnitId (const G4Step *) override |
~DreamSD () override | |
Public Member Functions inherited from CaloSD | |
CaloSD (const std::string &aSDname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false) | |
void | clear () override |
void | clearHits () override |
void | DrawAll () override |
void | EndOfEvent (G4HCofThisEvent *eventHC) override |
void | fillHits (edm::PCaloHitContainer &, const std::string &) override |
void | Initialize (G4HCofThisEvent *HCE) override |
bool | isItFineCalo (const G4VTouchable *touch) |
void | PrintAll () override |
bool | ProcessHits (G4GFlashSpot *aSpot, G4TouchableHistory *) override |
G4bool | ProcessHits (G4Step *step, G4TouchableHistory *) override |
void | reset () override |
~CaloSD () override | |
Public Member Functions inherited from SensitiveCaloDetector | |
SensitiveCaloDetector (const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p) | |
Public Member Functions inherited from SensitiveDetector | |
void | EndOfEvent (G4HCofThisEvent *eventHC) override |
const std::vector< std::string > & | getNames () const |
void | Initialize (G4HCofThisEvent *eventHC) override |
bool | isCaloSD () const |
SensitiveDetector (const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &, edm::ParameterSet const &p, bool calo) | |
~SensitiveDetector () override | |
Public Member Functions inherited from Observer< const BeginOfRun * > | |
Observer () | |
void | slotForUpdate (const BeginOfRun * iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const BeginOfEvent * > | |
Observer () | |
void | slotForUpdate (const BeginOfEvent * iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const BeginOfTrack * > | |
Observer () | |
void | slotForUpdate (const BeginOfTrack * iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const EndOfTrack * > | |
Observer () | |
void | slotForUpdate (const EndOfTrack * iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const EndOfEvent * > | |
Observer () | |
void | slotForUpdate (const EndOfEvent * iT) |
virtual | ~Observer () |
Protected Member Functions | |
double | getEnergyDeposit (const G4Step *) override |
void | initRun () override |
Protected Member Functions inherited from CaloSD | |
bool | checkHit () |
CaloG4Hit * | createNewHit (const G4Step *, const G4Track *) |
virtual void | endEvent () |
virtual double | EnergyCorrected (const G4Step &step, const G4Track *) |
virtual bool | filterHit (CaloG4Hit *, double) |
double | getAttenuation (const G4Step *aStep, double birk1, double birk2, double birk3) const |
virtual uint16_t | getDepth (const G4Step *) |
virtual bool | getFromLibrary (const G4Step *step) |
int | getNumberOfHits () |
double | getResponseWt (const G4Track *) |
virtual int | getTrackID (const G4Track *) |
void | hitBookkeepingFineCalo (const G4Step *step, const G4Track *currentTrack, CaloG4Hit *hit) |
bool | hitExists (const G4Step *) |
void | ignoreRejection () |
virtual void | initEvent (const BeginOfEvent *) |
void | printDetectorLevels (const G4VTouchable *) const |
void | processHit (const G4Step *step) |
void | resetForNewPrimary (const G4Step *) |
void | setNumberCheckedHits (int val) |
void | setParameterized (bool val) |
G4ThreeVector | setToGlobal (const G4ThreeVector &, const G4VTouchable *) const |
G4ThreeVector | setToLocal (const G4ThreeVector &, const G4VTouchable *) const |
virtual int | setTrackID (const G4Step *) |
void | setUseMap (bool val) |
void | update (const ::EndOfEvent *) override |
void | update (const BeginOfEvent *) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const BeginOfRun *) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const BeginOfTrack *trk) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const EndOfTrack *trk) override |
This routine will be called when the appropriate signal arrives. More... | |
void | updateHit (CaloG4Hit *) |
Protected Member Functions inherited from SensitiveDetector | |
TrackInformation * | cmsTrackInformation (const G4Track *aTrack) |
Local3DPoint | ConvertToLocal3DPoint (const G4ThreeVector &point) const |
Local3DPoint | FinalStepPosition (const G4Step *step, coordinates) const |
Local3DPoint | InitialStepPosition (const G4Step *step, coordinates) const |
Local3DPoint | LocalPostStepPosition (const G4Step *step) const |
Local3DPoint | LocalPreStepPosition (const G4Step *step) const |
void | NaNTrap (const G4Step *step) const |
void | setNames (const std::vector< std::string > &) |
Protected Member Functions inherited from Observer< const EndOfEvent * > | |
virtual void | update (const EndOfEvent *)=0 |
This routine will be called when the appropriate signal arrives. More... | |
Private Types | |
typedef std::map< G4LogicalVolume *, Doubles > | DimensionMap |
typedef std::pair< double, double > | Doubles |
Private Member Functions | |
double | cherenkovDeposit_ (const G4Step *aStep) |
Returns the total energy due to Cherenkov radiation. More... | |
double | crystalLength (G4LogicalVolume *) const |
double | crystalWidth (G4LogicalVolume *) const |
double | curve_LY (const G4Step *, int) |
void | fillMap (const std::string &, double, double) |
double | getAverageNumberOfPhotons_ (const double charge, const double beta, const G4Material *aMaterial, const G4MaterialPropertyVector *rIndex) |
Returns average number of photons created by track. More... | |
double | getPhotonEnergyDeposit_ (const G4ParticleMomentum &p, const G4ThreeVector &x, const G4Step *aStep) |
Returns energy deposit for a given photon. More... | |
void | initMap (const std::string &, const edm::EventSetup &) |
bool | setPbWO2MaterialProperties_ (G4Material *aMaterial) |
Sets material properties at run-time... More... | |
Private Attributes | |
double | birk1_ |
double | birk2_ |
double | birk3_ |
std::unique_ptr< G4PhysicsOrderedFreeVector > | chAngleIntegrals_ |
Table of Cherenkov angle integrals vs photon momentum. More... | |
bool | dd4hep_ |
bool | doCherenkov_ |
G4MaterialPropertiesTable * | materialPropertiesTable_ |
int | nphotons_ |
bool | readBothSide_ |
int | side_ |
double | slopeLY_ |
bool | useBirk_ |
DimensionMap | xtalLMap_ |
Static Private Attributes | |
static constexpr double | k_ScaleFromDD4HepToG4 = 1.0 / dd4hep::mm |
static constexpr double | k_ScaleFromDDDToG4 = 1.0 |
Additional Inherited Members | |
Protected Types inherited from SensitiveDetector | |
enum | coordinates { WorldCoordinates, LocalCoordinates } |
Static Protected Member Functions inherited from CaloSD | |
static std::string | printableDecayChain (const std::vector< unsigned int > &decayChain) |
Protected Attributes inherited from CaloSD | |
CaloG4Hit * | currentHit |
CaloHitID | currentID |
float | edepositEM |
float | edepositHAD |
double | eminHit |
double | energyCut |
G4ThreeVector | entranceLocal |
G4ThreeVector | entrancePoint |
bool | forceSave |
float | incidentEnergy |
double | kmaxIon |
double | kmaxNeutron |
double | kmaxProton |
G4ThreeVector | posGlobal |
CaloHitID | previousID |
bool | suppressHeavy |
double | tmaxHit |
|
private |
|
private |
DreamSD::DreamSD | ( | const std::string & | name, |
const edm::EventSetup & | es, | ||
const SensitiveDetectorCatalog & | clg, | ||
edm::ParameterSet const & | p, | ||
const SimTrackManager * | manager | ||
) |
Definition at line 37 of file DreamSD.cc.
References birk1_, birk2_, birk3_, chAngleIntegrals_, dd4hep_, doCherenkov_, g, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), initMap(), dqmdumpme::k, MeV, Skims_PA_cff::name, AlCaHLTBitMon_ParallelJobs::p, readBothSide_, slopeLY_, and useBirk_.
|
private |
Returns the total energy due to Cherenkov radiation.
Definition at line 260 of file DreamSD.cc.
References HLT_FULL_cff::beta, ALCARECOTkAlJpsiMuMu_cff::charge, funct::cos(), Calorimetry_cff::dp, getAverageNumberOfPhotons_(), getPhotonEnergyDeposit_(), materialPropertiesTable_, phi, dataAnalyzerFineBiningParameters_cff::Pmax, multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, funct::sin(), and mathSSE::sqrt().
Referenced by getEnergyDeposit().
|
private |
Definition at line 240 of file DreamSD.cc.
References xtalLMap_.
Referenced by curve_LY(), and getPhotonEnergyDeposit_().
|
private |
Definition at line 249 of file DreamSD.cc.
References ApeEstimator_cff::width, and xtalLMap_.
Referenced by getPhotonEnergyDeposit_().
|
private |
Definition at line 213 of file DreamSD.cc.
References crystalLength(), RemoveAddSevLevel::flag, CaloSD::setToLocal(), slopeLY_, and mps_merge::weight.
Referenced by getEnergyDeposit().
|
private |
Definition at line 194 of file DreamSD.cc.
References Skims_PA_cff::name, ApeEstimator_cff::width, and xtalLMap_.
Referenced by initMap().
|
private |
Returns average number of photons created by track.
Definition at line 376 of file DreamSD.cc.
References HLT_FULL_cff::beta, chAngleIntegrals_, ALCARECOTkAlJpsiMuMu_cff::charge, Calorimetry_cff::dp, metDiagnosticParameterSet_cfi::nMax, metDiagnosticParameterSet_cfi::nMin, and dataAnalyzerFineBiningParameters_cff::Pmax.
Referenced by cherenkovDeposit_().
|
overrideprotectedvirtual |
Reimplemented from CaloSD.
Definition at line 72 of file DreamSD.cc.
References birk1_, birk2_, birk3_, cherenkovDeposit_(), curve_LY(), doCherenkov_, CaloSD::getAttenuation(), MeV, side_, useBirk_, and mps_merge::weight.
|
private |
Returns energy deposit for a given photon.
Definition at line 520 of file DreamSD.cc.
References funct::abs(), crystalLength(), crystalWidth(), HCALHighEnergyHPDFilter_cfi::energy, PMTResponse::getEfficiency(), AlCaHLTBitMon_ParallelJobs::p, x, and y.
Referenced by cherenkovDeposit_().
|
private |
Definition at line 125 of file DreamSD.cc.
References dd4hep_, cms::DDSolidShapeMap, fillMap(), ALCARECOTkAlBeamHalo_cff::filter, DDFilteredView::firstChild(), cms::DDFilteredView::firstChild(), edm::EventSetup::get(), get, mps_fire::i, k_ScaleFromDD4HepToG4, k_ScaleFromDDDToG4, DDFilteredView::logicalPart(), Skims_PA_cff::name, cms::dd::name(), DDName::name(), DDBase< N, C >::name(), cms::DDFilteredView::name(), DDFilteredView::next(), DDSolid::parameters(), cms::DDFilteredView::parameters(), sd, DDSolid::shape(), cms::DDFilteredView::shape(), DDLogicalPart::solid(), jetUpdater_cfi::sort, AlCaHLTBitMon_QueryRunRegistry::string, ApeEstimator_cff::width, and xtalLMap_.
Referenced by DreamSD().
|
overrideprotectedvirtual |
Reimplemented from CaloSD.
Definition at line 92 of file DreamSD.cc.
References materialPropertiesTable_, setPbWO2MaterialProperties_(), and xtalLMap_.
|
overridevirtual |
Implements CaloSD.
Definition at line 111 of file DreamSD.cc.
References triggerObjects_cff::id, readBothSide_, and side_.
|
private |
Sets material properties at run-time...
Definition at line 439 of file DreamSD.cc.
References chAngleIntegrals_, AlCaHLTBitMon_QueryRunRegistry::string, and TableParser::table.
Referenced by initRun().
|
private |
Definition at line 58 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Definition at line 58 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Definition at line 58 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Table of Cherenkov angle integrals vs photon momentum.
Definition at line 65 of file DreamSD.h.
Referenced by DreamSD(), getAverageNumberOfPhotons_(), and setPbWO2MaterialProperties_().
|
private |
|
private |
Definition at line 57 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
staticconstexprprivate |
|
staticconstexprprivate |
|
private |
Definition at line 66 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and initRun().
|
private |
Definition at line 57 of file DreamSD.h.
Referenced by DreamSD(), and setDetUnitId().
|
private |
Definition at line 62 of file DreamSD.h.
Referenced by getEnergyDeposit(), and setDetUnitId().
|
private |
Definition at line 59 of file DreamSD.h.
Referenced by curve_LY(), and DreamSD().
|
private |
Definition at line 57 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Definition at line 60 of file DreamSD.h.
Referenced by crystalLength(), crystalWidth(), fillMap(), initMap(), and initRun().