Skip to content

Commit

Permalink
Merge pull request #24892 from YeonjuGo/hihfecut
Browse files Browse the repository at this point in the history
Centrality reco modification for 2018 heavy ion run
  • Loading branch information
cmsbuild committed Oct 23, 2018
2 parents 1919f96 + 16baa76 commit 89a10d0
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 10 deletions.
13 changes: 13 additions & 0 deletions DataFormats/HeavyIonEvent/interface/Centrality.h
Expand Up @@ -23,6 +23,9 @@ namespace reco { class Centrality {
double EtHFtowerSum() const {return etHFtowerSumPlus_ + etHFtowerSumMinus_;}
double EtHFtowerSumPlus() const {return etHFtowerSumPlus_;}
double EtHFtowerSumMinus() const {return etHFtowerSumMinus_;}
double EtHFtowerSumECut() const {return etHFtowerSumECutPlus_ + etHFtowerSumECutMinus_;}
double EtHFtowerSumECutPlus() const {return etHFtowerSumECutPlus_;}
double EtHFtowerSumECutMinus() const {return etHFtowerSumECutMinus_;}
double EtHFtruncated() const {return etHFtruncatedPlus_ + etHFtruncatedMinus_;}
double EtHFtruncatedPlus() const {return etHFtruncatedPlus_;}
double EtHFtruncatedMinus() const {return etHFtruncatedMinus_;}
Expand All @@ -37,11 +40,15 @@ namespace reco { class Centrality {
double EtEcalSum() const {return etEBSum_ + EtEESum();}
double EtEcaltruncated() const {return etEBtruncated_ + EtEEtruncated();}
double multiplicityPixel() const {return pixelMultiplicity_;}
double multiplicityPixelPlus() const {return pixelMultiplicityPlus_;}
double multiplicityPixelMinus() const {return pixelMultiplicityMinus_;}
double Ntracks() const {return trackMultiplicity_;}
double NtracksPtCut() const {return ntracksPtCut_;}
double NtracksEtaCut() const {return ntracksEtaCut_;}
double NtracksEtaPtCut() const {return ntracksEtaPtCut_;}
double NpixelTracks() const {return nPixelTracks_;}
double NpixelTracksPlus() const {return nPixelTracksPlus_;}
double NpixelTracksMinus() const {return nPixelTracksMinus_;}

double zdcSum() const {return zdcSumPlus_ + zdcSumMinus_;}
double zdcSumPlus() const {return zdcSumPlus_;}
Expand All @@ -54,10 +61,12 @@ namespace reco { class Centrality {

double etHFhitSumPlus_;
double etHFtowerSumPlus_;
double etHFtowerSumECutPlus_;
double etHFtruncatedPlus_;

double etHFhitSumMinus_;
double etHFtowerSumMinus_;
double etHFtowerSumECutMinus_;
double etHFtruncatedMinus_;

double etEESumPlus_;
Expand All @@ -68,6 +77,8 @@ namespace reco { class Centrality {
double etEBtruncated_;

double pixelMultiplicity_;
double pixelMultiplicityPlus_;
double pixelMultiplicityMinus_;
double trackMultiplicity_;
double zdcSumPlus_;
double zdcSumMinus_;
Expand All @@ -76,6 +87,8 @@ namespace reco { class Centrality {
double ntracksEtaCut_;
double ntracksEtaPtCut_;
double nPixelTracks_;
double nPixelTracksPlus_;
double nPixelTracksMinus_;

};

Expand Down
8 changes: 7 additions & 1 deletion DataFormats/HeavyIonEvent/src/Centrality.cc
Expand Up @@ -13,9 +13,11 @@ value_(d),
label_(label),
etHFhitSumPlus_(0),
etHFtowerSumPlus_(0),
etHFtowerSumECutPlus_(0),
etHFtruncatedPlus_(0),
etHFhitSumMinus_(0),
etHFtowerSumMinus_(0),
etHFtowerSumECutMinus_(0),
etHFtruncatedMinus_(0),
etEESumPlus_(0),
etEEtruncatedPlus_(0),
Expand All @@ -24,14 +26,18 @@ etEEtruncatedMinus_(0),
etEBSum_(0),
etEBtruncated_(0),
pixelMultiplicity_(0),
pixelMultiplicityPlus_(0),
pixelMultiplicityMinus_(0),
trackMultiplicity_(0),
zdcSumPlus_(0),
zdcSumMinus_(0),
etMidRapiditySum_(0),
ntracksPtCut_(0),
ntracksEtaCut_(0),
ntracksEtaPtCut_(0),
nPixelTracks_(0)
nPixelTracks_(0),
nPixelTracksPlus_(0),
nPixelTracksMinus_(0)
{
}

Expand Down
3 changes: 2 additions & 1 deletion DataFormats/HeavyIonEvent/src/classes_def.xml
Expand Up @@ -3,7 +3,8 @@
<version ClassVersion="11" checksum="393681411"/>
</class>
<class name="edm::Wrapper<reco::EvtPlane>"/>
<class name="reco::Centrality" ClassVersion="10">
<class name="reco::Centrality" ClassVersion="11">
<version ClassVersion="11" checksum="688182903"/>
<version ClassVersion="10" checksum="3770933457"/>
</class>
<class name="edm::Wrapper<reco::Centrality>"/>
Expand Down
47 changes: 40 additions & 7 deletions RecoHI/HiCentralityAlgos/plugins/CentralityProducer.cc
Expand Up @@ -34,6 +34,7 @@
#include "DataFormats/TrackReco/interface/Track.h"
#include "DataFormats/VertexReco/interface/Vertex.h"
#include "DataFormats/VertexReco/interface/VertexFwd.h"
#include "DataFormats/TrackerCommon/interface/TrackerTopology.h"

#include "Geometry/Records/interface/CaloGeometryRecord.h"
#include "Geometry/CaloGeometry/interface/CaloGeometry.h"
Expand Down Expand Up @@ -99,6 +100,7 @@ class CentralityProducer : public edm::EDProducer {

edm::ESHandle<TrackerGeometry> tGeo;
edm::ESHandle<CaloGeometry> cGeo;
edm::ESHandle<TrackerTopology> topo_;

};

Expand Down Expand Up @@ -184,6 +186,7 @@ CentralityProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup)

if(producePixelhits_) iSetup.get<TrackerDigiGeometryRecord>().get(tGeo);
if(produceEcalhits_) iSetup.get<CaloGeometryRecord>().get(cGeo);
if(producePixelhits_) iSetup.get<TrackerTopologyRcd>().get(topo_);

auto creco = std::make_unique<Centrality>();
Handle<Centrality> inputCentrality;
Expand Down Expand Up @@ -213,6 +216,8 @@ CentralityProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup)
if(produceHFtowers_ || produceETmidRap_){
creco->etHFtowerSumPlus_ = 0;
creco->etHFtowerSumMinus_ = 0;
creco->etHFtowerSumECutPlus_ = 0;
creco->etHFtowerSumECutMinus_ = 0;
creco->etMidRapiditySum_ = 0;

Handle<CaloTowerCollection> towers;
Expand All @@ -226,16 +231,20 @@ CentralityProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup)
if(produceHFtowers_){
if(isHF && eta > 0){
creco->etHFtowerSumPlus_ += tower.pt();
if(tower.energy() > 1.5) creco->etHFtowerSumECutPlus_ += tower.pt();
if(eta > hfEtaCut_) creco->etHFtruncatedPlus_ += tower.pt();
}
if(isHF && eta < 0){
creco->etHFtowerSumMinus_ += tower.pt();
if(tower.energy() > 1.5) creco->etHFtowerSumECutMinus_ += tower.pt();
if(eta < -hfEtaCut_) creco->etHFtruncatedMinus_ += tower.pt();
}
}else{
if(reuseAny_){
creco->etHFtowerSumMinus_ = inputCentrality->EtHFtowerSumMinus();
creco->etHFtowerSumPlus_ = inputCentrality->EtHFtowerSumPlus();
creco->etHFtowerSumECutMinus_ = inputCentrality->EtHFtowerSumECutMinus();
creco->etHFtowerSumECutPlus_ = inputCentrality->EtHFtowerSumECutPlus();
creco->etHFtruncatedMinus_ = inputCentrality->EtHFtruncatedMinus();
creco->etHFtruncatedPlus_ = inputCentrality->EtHFtruncatedPlus();
}
Expand All @@ -248,6 +257,8 @@ CentralityProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup)
if(reuseAny_){
creco->etHFtowerSumMinus_ = inputCentrality->EtHFtowerSumMinus();
creco->etHFtowerSumPlus_ = inputCentrality->EtHFtowerSumPlus();
creco->etHFtowerSumECutMinus_ = inputCentrality->EtHFtowerSumECutMinus();
creco->etHFtowerSumECutPlus_ = inputCentrality->EtHFtowerSumECutPlus();
creco->etMidRapiditySum_ = inputCentrality->EtMidRapiditySum();
}
}
Expand Down Expand Up @@ -295,6 +306,8 @@ CentralityProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup)
iEvent.getByToken(srcPixelhits_,rchts);
rechits = rchts.product();
int nPixel =0 ;
int nPixel_plus =0 ;
int nPixel_minus =0 ;
for (SiPixelRecHitCollection::const_iterator it = rechits->begin(); it!=rechits->end();it++)
{
SiPixelRecHitCollection::DetSet hits = *it;
Expand All @@ -303,28 +316,37 @@ CentralityProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup)
const SiPixelRecHitCollection::DetSet recHitRange = *recHitMatch;
for ( SiPixelRecHitCollection::DetSet::const_iterator recHitIterator = recHitRange.begin();
recHitIterator != recHitRange.end(); ++recHitIterator) {

// add selection if needed, now all hits.
if(doPixelCut_){
const SiPixelRecHit * recHit = &(*recHitIterator);
const PixelGeomDetUnit* pixelLayer = dynamic_cast<const PixelGeomDetUnit*> (tGeo->idToDet(recHit->geographicalId()));
GlobalPoint gpos = pixelLayer->toGlobal(recHit->localPosition());
math::XYZVector rechitPos(gpos.x(),gpos.y(),gpos.z());
double eta = rechitPos.eta();
double abeta = std::abs(rechitPos.eta());
int clusterSize = recHit->cluster()->size();
if ( abeta < 0.5 && clusterSize < 1) continue;
if ( abeta > 0.5 && abeta < 1 && clusterSize < 2) continue;
if ( abeta > 1. && abeta < 1.5 && clusterSize < 3) continue;
if ( abeta > 1.5 && abeta < 2. && clusterSize < 4) continue;
if ( abeta > 2. && abeta < 2.5 && clusterSize < 6) continue;
if ( abeta > 2.5 && abeta < 5 && clusterSize < 9) continue;
unsigned layer = topo_->layer(detId);
if(doPixelCut_){
if (detId.det() == DetId::Tracker && detId.subdetId() == PixelSubdetector::PixelBarrel){
if (layer==1 && 18*abeta-40>clusterSize) continue;
if (layer==2 && 6*abeta-7.2>clusterSize) continue;
if ((layer==3 || layer==4) && 4*abeta-2.4>clusterSize) continue;
}
}
nPixel++;
if(eta>=0) nPixel_plus++;
if(eta<0) nPixel_minus++;

}
}
creco->pixelMultiplicity_ = nPixel;
creco->pixelMultiplicityPlus_ = nPixel_plus;
creco->pixelMultiplicityMinus_ = nPixel_minus;
}else{
if(reuseAny_){
creco->pixelMultiplicity_ = inputCentrality->multiplicityPixel();
creco->pixelMultiplicityPlus_ = inputCentrality->multiplicityPixelPlus();
creco->pixelMultiplicityMinus_ = inputCentrality->multiplicityPixelMinus();
}
}

Expand Down Expand Up @@ -414,11 +436,22 @@ CentralityProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup)
Handle<TrackCollection> pixeltracks;
iEvent.getByToken(srcPixelTracks_,pixeltracks);
int nPixelTracks = pixeltracks->size();
int nPixelTracksPlus = 0;
int nPixelTracksMinus = 0;

for (auto const& track : *pixeltracks){
if(track.eta()<0) nPixelTracksMinus++;
else nPixelTracksPlus++;
}
creco->nPixelTracks_ = nPixelTracks;
creco->nPixelTracksPlus_ = nPixelTracksPlus;
creco->nPixelTracksMinus_ = nPixelTracksMinus;
}
else{
if(reuseAny_){
creco->nPixelTracks_ = inputCentrality->NpixelTracks();
creco->nPixelTracksPlus_ = inputCentrality->NpixelTracksPlus();
creco->nPixelTracksMinus_ = inputCentrality->NpixelTracksMinus();
}
}

Expand Down
3 changes: 2 additions & 1 deletion RecoHI/HiCentralityAlgos/python/HiCentrality_cfi.py
Expand Up @@ -38,7 +38,8 @@
from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
for e in [pp_on_XeXe_2017, pp_on_AA_2018]:
e.toModify(hiCentrality,
producePixelTracks = False,
producePixelTracks = True,
srcPixelTracks = "hiConformalPixelTracks",
srcTracks = cms.InputTag("generalTracks"),
srcVertex = cms.InputTag("offlinePrimaryVertices")
)
Expand Down

0 comments on commit 89a10d0

Please sign in to comment.