99 std::vector<HcalDDDRecConstants::HcalActiveLength>
actHB ,
actHE;
120 std::vector<double>
PCharge,
PChi2,
PD0,
PD0Error,
dxyWithBS,
dzWithBS,
PdxyTrack,
PdzTrack,
PNormalizedChi2,
PNDoF,
PValidHits,
PLostHits,
NPvx,
NPvy,
NPvz,
NQOverP,
NQOverPError,
NTrkMomentum,
NRefPointX,
NRefPointY,
NRefPointZ;
151 if (maxDepth_ > 7) maxDepth_ = 7;
152 else if (maxDepth_ < 1) maxDepth_ = 4;
209 << _Triggers->size() << std::endl;
214 std::vector<int>
index;
215 for (
int i=0;
i < Ntriggers;
i++) {
217 int triggerSize =int( _Triggers->size());
219 <<
"\ntriggerSize " << triggerSize
221 if (index[i] < triggerSize) {
222 hltresults.push_back(_Triggers->accept(index[i])) ;
224 <<
" triggerSize " << index[i]
226 <<
" hltresult " << std::endl;
228 edm::LogInfo(
"TriggerBlock") <<
"Requested HLT path \"" <<
"\" does not exist";
279 for (reco::MuonCollection::const_iterator RecMuon = _Muon->begin(); RecMuon!= _Muon->end(); ++RecMuon) {
284 EtaGlob.push_back(RecMuon->eta());
285 PhiGlob.push_back(RecMuon->phi());
286 Energy.push_back(RecMuon->energy());
287 Pmuon.push_back(RecMuon->p());
290 if (RecMuon->track().isNonnull()) {
291 TrackerLayer.push_back(RecMuon->track()->hitPattern().trackerLayersWithMeasurement());
295 if (RecMuon->innerTrack().isNonnull()) {
297 NumPixelLayers.push_back(RecMuon->innerTrack()->hitPattern().pixelLayersWithMeasurement());
298 chiTracker.push_back(RecMuon->innerTrack()->normalizedChi2());
304 Tight_PixelHits.push_back(RecMuon->innerTrack()->hitPattern().numberOfValidPixelHits());
318 if (RecMuon->outerTrack().isNonnull()) {
323 OuterTrackChi.push_back(RecMuon->outerTrack()->normalizedChi2());
324 OuterTrackHits.push_back(RecMuon->outerTrack()->numberOfValidHits());
336 if (RecMuon->globalTrack().isNonnull()) {
338 chiGlobal.push_back(RecMuon->globalTrack()->normalizedChi2());
339 GlobalMuonHits.push_back(RecMuon->globalTrack()->hitPattern().numberOfValidMuonHits());
340 MatchedStat.push_back(RecMuon->numberOfMatchedStations());
358 IsolationR04.push_back(((RecMuon->pfIsolationR04().sumChargedHadronPt +
std::max(0.,RecMuon->pfIsolationR04().sumNeutralHadronEt + RecMuon->pfIsolationR04().sumPhotonEt - (0.5 *RecMuon->pfIsolationR04().sumPUPt))) / RecMuon->pt()) );
360 IsolationR03.push_back(((RecMuon->pfIsolationR03().sumChargedHadronPt +
std::max(0.,RecMuon->pfIsolationR03().sumNeutralHadronEt + RecMuon->pfIsolationR03().sumPhotonEt - (0.5 * RecMuon->pfIsolationR03().sumPUPt))) / RecMuon->pt()));
366 double eEcal(0),eHcal(0),activeL(0),eHcalDepth[7],eHcalDepthHot[7],eHcalDepthCalo[7],eHcalDepthHotCalo[7];
367 unsigned int isHot = 0;
368 unsigned int isHotCalo = 0;
370 for (
int i=0;
i<7; ++
i) eHcalDepth[
i]=eHcalDepthHot[
i]=eHcalDepthCalo[
i]=eHcalDepthHotCalo[
i]=-10000 ;
372 if (RecMuon->innerTrack().isNonnull()) {
373 const reco::Track* pTrack = (RecMuon->innerTrack()).
get();
382 std::pair<double,bool> e3x3 =
spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle,*theEcalChStatus,geo,caloTopology,sevlv.
product(),1,1,-100.0,-100.0,-500.0,500.0,
false);
390 eHcal =
spr::eHCALmatrix(theHBHETopology, closestCell, hbhe,0,0,
false,
true, -100.0, -100.0, -100.0, -100.0, -500.,500.,
useRaw_);
393 std::vector<std::pair<double,int> > ehdepth;
394 spr::energyHCALCell((
HcalDetId) closestCell, hbhe, ehdepth,
maxDepth_, -100.0, -100.0, -100.0, -100.0, -500.0, 500.0,
useRaw_,(((
verbosity_/1000)%10)>0));
395 for (
unsigned int i=0;
i<ehdepth.size(); ++
i) {
396 eHcalDepth[ehdepth[
i].second-1] = ehdepth[
i].first;
400 eHcal =
spr::eHCALmatrix(theHBHETopology, closestCell, calosimhits,0,0,
false,
true, -100.0, -100.0, -100.0, -100.0, -500.,500.,
useRaw_);
404 std::vector<std::pair<double,int> > ehdepthCalo;
405 spr::energyHCALCell((
HcalDetId) closestCellCalo, calosimhits, ehdepthCalo,
maxDepth_, -100.0, -100.0, -100.0, -100.0, -500.0, 500.0,
useRaw_, (((
verbosity_/1000)%10)>0));
406 for (
unsigned int i=0;
i<ehdepthCalo.size(); ++
i) {
407 eHcalDepthCalo[ehdepthCalo[
i].second-1] = ehdepthCalo[
i].first;
419 isHot =
matchId(closestCell,hotCell);
420 isHotCalo =
matchId(closestCellCalo,hotCellCalo);
424 std::vector<std::pair<double,int> > ehdepth;
426 spr::energyHCALCell(hotCell, hbhe, ehdepth,
maxDepth_, -100.0, -100.0, -100.0, -100.0, -500.0, 500.0,
false);
427 for (
unsigned int i=0;
i<ehdepth.size(); ++
i) {
428 eHcalDepthHot[ehdepth[
i].second-1] = ehdepth[
i].first;
434 std::vector<std::pair<double,int> > ehdepthCalo;
436 spr::energyHCALCell(hotCellCalo, calosimhits, ehdepthCalo,
maxDepth_, -100.0, -100.0, -100.0, -100.0, -500.0, 500.0,
useRaw_,
false);
437 for (
unsigned int i=0;
i<ehdepthCalo.size(); ++
i) {
438 eHcalDepthHotCalo[ehdepthCalo[
i].second-1] = ehdepthCalo[
i].first;
613 edm::LogInfo(
"TriggerBlock") <<
"HLT config with process name "
614 <<
"HLT" <<
" successfully extracted";
615 std::string string_search[5]={
"HLT_IsoMu_",
"HLT_L1SingleMu_",
"HLT_L2Mu",
"HLT_Mu",
"HLT_RelIso1p0Mu"};
619 for (
unsigned int ik=0; ik<5; ++ik) {
620 if (
hltname.find(string_search[ik])!=std::string::npos ){
628 edm::LogError(
"TriggerBlock") <<
"Error! HLT config extraction with process name "
629 <<
"HLT"<<
" failed";
730 int match = ((kd1 == kd2) ? 1 : 0);
736 int ieta =
id.ietaAbs();
737 int depth=
id.depth();
741 for (
unsigned int i=0;
i<
actHB.size(); ++
i) {
749 for (
unsigned int i=0;
i<
actHE.size(); ++
i) {
unsigned int size() const
number of trigger paths in trigger table
double _RecoMuon1TrackIsoSumPtMaxCutValue_03
std::vector< double > MuonHcalDepth1HotEnergy
EventNumber_t event() const
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hcal_
T getUntrackedParameter(std::string const &, T const &) const
std::vector< double > track_cosmic_positionOY
std::vector< double > NQOverP
std::vector< float > energy_hb
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
std::vector< double > dzWithBS
std::vector< double > GlobalMuonHits
std::vector< bool > muon_tracker
std::vector< double > MuonHcalDepth3HotEnergyCalo
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, std::string &theTrackQuality, bool debug=false)
std::vector< bool > muon_global
std::vector< double > PNormalizedChi2
std::vector< double > MuonEcal3x3Energy
std::vector< int > v_RH_h3x3_iphi
std::vector< double > PdzTrack
HcalSubdetector subdet() const
get the subdetector
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< double > OuterTrackChi
std::vector< double > PCharge
std::vector< double > MuonHcalDepth4EnergyCalo
std::vector< double > NPvy
std::vector< double > Pmuon
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
std::vector< bool > OuterTrack
std::vector< double > MuonHcalActiveLength
std::vector< double > GlobalTrckPhi
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< double > DzTracker
std::vector< bool > muon_is_good
std::vector< std::string > hltpaths
std::vector< double > track_cosmic_rad
std::vector< double > NormChi2
#define DEFINE_FWK_MODULE(type)
std::vector< double > PxGlob
std::vector< int > v_RH_h3x3_ieta
std::vector< double > MuonHcalDepth6HotEnergy
virtual void beginRun(edm::Run const &, edm::EventSetup const &)
std::vector< unsigned int > MuonHcalDetId
std::vector< double > MuonHcalDepth6EnergyCalo
double activeLength(const DetId &)
std::vector< unsigned int > MuonEcalDetId
std::vector< double > PChi2
std::vector< double > MuonHcalDepth5HotEnergyCalo
std::vector< double > MuonHcal1x1Energy
std::vector< double > MuonHcalDepth4HotEnergyCalo
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
std::vector< unsigned int > MuonEHcalDetId
std::vector< double > track_cosmic_momentumIZ
double eHCALmatrix(const HcalTopology *topology, const DetId &det, edm::Handle< T > &hits, int ieta, int iphi, bool includeHO=false, bool algoNew=true, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, bool useRaw=false, bool debug=false)
int bunchCrossing() const
std::vector< double > NPvz
std::vector< double > OuterTrackEta
std::vector< double > MuonHcalDepth1HotEnergyCalo
std::vector< double > MuonHcalDepth1EnergyCalo
std::string theTrackQuality
std::vector< HcalDDDRecConstants::HcalActiveLength > actHB
std::vector< double > MuonHcalDepth7Energy
T * make(const Args &...args) const
make new ROOT object
std::vector< float > time_hb
std::vector< double > OuterTrackPt
std::vector< std::string > TrigName_
std::vector< unsigned int > MuonHcalHot
std::vector< std::string > all_triggers5
std::vector< std::string > all_triggers1
std::vector< double > PzGlob
std::vector< double > Tight_LongPara
std::vector< double > NPvx
std::vector< double > innerTrackphi
std::vector< double > TrackerLayer
std::vector< double > NRefPointZ
std::vector< double > MuonHcalDepth1Energy
LuminosityBlockNumber_t luminosityBlock() const
std::vector< unsigned int > MuonHcalHotCalo
std::vector< double > MuonHcalDepth4Energy
const Point & position() const
position
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
std::vector< double > MuonHcalDepth3HotEnergy
std::vector< double > EtaGlob
std::vector< double > track_cosmic_momentumOZ
std::vector< double > NQOverPError
std::vector< double > track_cosmic_momentumIX
std::vector< double > PNDoF
std::vector< double > PD0
uint32_t rawId() const
get the raw id
std::vector< double > track_cosmic_ymomentum
std::vector< double > innerTracketa
std::vector< std::string > all_triggers2
std::vector< double > PdxyTrack
std::vector< double > OuterTrackRHits
std::vector< double > MuonHcalDepth5HotEnergy
std::vector< double > MuonEcalEnergy
std::vector< double > trackerlayer_hits
std::vector< double > Tight_GlobalMuonTrkFit
void addDefault(ParameterSetDescription const &psetDescription)
std::vector< double > track_cosmic_xmomentum
std::vector< bool > all_ifTriggerpassed
unsigned int triggerIndex(std::string const &name) const
std::vector< double > track_cosmic_positionIY
edm::EDGetTokenT< edm::TriggerResults > tok_trigRes_
std::vector< double > PLostHits
std::vector< double > MuonHcalDepth2EnergyCalo
double _RecoMuon1TrackIsoSumPtMaxCutValue_04
std::vector< double > track_cosmic_momentumIY
std::vector< double > Energy
std::vector< double > MuonHcalDepth2Energy
std::vector< double > MuonHOEnergy
std::vector< double > track_cosmic_positionIZ
HLTConfigProvider hltConfig_
int ieta() const
get the cell ieta
std::vector< double > MuonHcalDepth5EnergyCalo
std::vector< double > High_TrackLayers
std::vector< double > track_cosmic_positionOZ
std::vector< double > Tight_TransImpara
std::vector< double > track_cosmic_detid
std::vector< double > Tight_MuonHits
std::vector< double > track_cosmic_momentumOX
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
std::vector< double > track_cosmic_yposition
std::vector< double > track_cosmic_positionIX
virtual void analyze(const edm::Event &, const edm::EventSetup &)
void energyHCALCell(HcalDetId detId, edm::Handle< T > &hits, std::vector< std::pair< double, int > > &energyCell, int maxDepth=1, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, bool useRaw=false, bool debug=false)
std::vector< double > track_cosmic_momentumOY
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
std::vector< double > DxyTracker
std::vector< HcalActiveLength > getThickActive(const int type) const
std::vector< bool > innerTrack
std::vector< std::string > all_triggers
std::vector< double > MuonHcalDepth7EnergyCalo
int iphi() const
get the cell iphi
std::vector< HcalDDDRecConstants::HcalActiveLength > actHE
std::vector< double > innerTrackpt
std::vector< double > track_cosmic_detIDinner
virtual void endRun(edm::Run const &, edm::EventSetup const &)
std::vector< bool > Trk_match_MuStat
std::vector< double > MuonHcalDepth3EnergyCalo
std::vector< bool > NTrkQuality
std::vector< double > MuonHcalDepth2HotEnergyCalo
std::vector< double > MuonHcalDepth7HotEnergyCalo
XYZPointD XYZPoint
point in space with cartesian internal representation
std::vector< double > MuonHcalDepth7HotEnergy
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
HcalRaddamMuon(const edm::ParameterSet &)
std::vector< double > v_RH_h3x3_ene
std::vector< double > track_cosmic_detIDouter
std::vector< double > Tight_TrkerLayers
edm::InputTag HLTriggerResults_
std::vector< double > chiTracker
T const * product() const
std::vector< bool > GlobalTrack
std::vector< double > dxyWithBS
std::vector< double > MuonHcalDepth6HotEnergyCalo
std::vector< double > MuonHcalDepth2HotEnergy
std::vector< double > No_pixelLayers
std::vector< double > Tight_MatchedStations
std::vector< double > GlobalTrckPt
std::vector< double > MuonHcalDepth5Energy
std::vector< double > Pthetha
std::vector< double > OuterTrackPhi
std::vector< double > Tight_PixelHits
std::vector< std::string > all_triggers3
std::vector< double > NRefPointX
edm::EDGetTokenT< reco::MuonCollection > tok_muon_
std::vector< double > PValidHits
static int position[264][3]
std::vector< double > track_cosmic_zmomentum
std::vector< double > track_cosmic_xposition
std::vector< double > MuonHcalDepth4HotEnergy
std::vector< double > PhiGlob
std::vector< std::string > all_triggers4
std::vector< double > NTrkMomentum
std::vector< double > NumPixelLayers
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
std::vector< double > OuterTrackHits
int matchId(const HcalDetId &, const HcalDetId &)
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
std::vector< double > chiGlobal
std::vector< double > PyGlob
std::vector< double > IsolationR03
std::vector< double > MuonHcalEnergy
std::vector< double > MuonHcalDepth3Energy
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
std::vector< double > PD0Error
std::vector< int > hltresults
std::vector< double > MuonHcalDepth6Energy
std::vector< double > PtGlob
std::vector< double > track_cosmic_zposition
cond::RealTimeType< cond::runnumber >::type RunNumber
std::vector< double > NRefPointY
edm::Service< TFileService > fs
std::vector< double > IsolationR04
std::vector< double > GlobalTrckEta
std::vector< double > track_cosmic_positionOX
double eECALmatrix(const DetId &detId, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, double ebThr=-100, double eeThr=-100, double tMin=-500, double tMax=500, bool debug=false)
std::vector< double > ImpactParameter
std::vector< double > MatchedStat
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)