17 barrelDigisToken_( consumes<
EBDigiCollection>( config.getParameter<
edm::InputTag> (
"barrelDigiCollection") ) ),
18 endcapDigisToken_( consumes<
EEDigiCollection>( config.getParameter<
edm::InputTag> (
"endcapDigiCollection") ) ),
21 barrelHitsToken_( consumes<
EBRecHitCollection>( config.getParameter<
edm::InputTag> (
"barrelHitCollection") ) ),
22 endcapHitsToken_( consumes<
EERecHitCollection>( config.getParameter<
edm::InputTag> (
"endcapHitCollection") ) ),
23 phiSymBarrelDigis_( config.getParameter<
std::
string> (
"phiSymBarrelDigiCollection") ),
24 phiSymEndcapDigis_( config.getParameter<
std::
string> (
"phiSymEndcapDigiCollection") ),
25 ampCut_barlP_( config.getParameter<
std::vector<double> > (
"ampCut_barrelP") ),
26 ampCut_barlM_( config.getParameter<
std::vector<double> > (
"ampCut_barrelM") ),
27 ampCut_endcP_( config.getParameter<
std::vector<double> > (
"ampCut_endcapP") ),
28 ampCut_endcM_( config.getParameter<
std::vector<double> > (
"ampCut_endcapM") ),
29 statusThreshold_( config.getParameter<uint32_t> (
"statusThreshold") ),
30 useRecoFlag_( config.getParameter<
bool>(
"useRecoFlag") )
49 desc.
add<
unsigned int>(
"statusThreshold",3);
50 desc.
add<
bool>(
"useRecoFlag",
false);
51 desc.
add<std::vector<double> >(
"ampCut_barrelP",{8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,
52 8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,
53 8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.});
54 desc.
add<std::vector<double> >(
"ampCut_barrelM",{8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,
55 8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,
56 8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.,8.});
57 desc.
add<std::vector<double> >(
"ampCut_endcapP",{12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,
58 12.,12.,12.,12.,12.});
59 desc.
add<std::vector<double> >(
"ampCut_endcapM",{12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,12.,
60 12.,12.,12.,12.,12.});
61 desc.
add<
std::string>(
"phiSymBarrelDigiCollection",
"phiSymEcalDigisEB");
62 desc.
add<
std::string>(
"phiSymEndcapDigiCollection",
"phiSymEcalDigisEE");
63 descriptions.
add(
"hltEcalPhiSymFilter",desc);
103 std::unique_ptr< EBDigiCollection > phiSymEBDigiCollection(
new EBDigiCollection );
104 std::unique_ptr< EEDigiCollection > phiSymEEDigiCollection(
new EEDigiCollection );
113 for (itunb=barrelUncalibRecHitsHandle->
begin(); itunb!=barrelUncalibRecHitsHandle->
end(); itunb++) {
116 uint16_t statusCode = 0;
118 else statusCode = channelStatus[itunb->id().rawId()].getStatusCode();
119 int iRing = CalibRing.getRingIndex(hitDetId);
124 if( statusCode <=statusThreshold_ && amplitude > ampCut){
125 phiSymEBDigiCollection->push_back((*EBDigis->
find(hit.
id())).id(),(*EBDigis->
find(hit.
id())).begin());
131 for (itune=endcapUncalibRecHitsHandle->
begin(); itune!=endcapUncalibRecHitsHandle->
end(); itune++) {
134 uint16_t statusCode = 0;
136 else statusCode = channelStatus[itune->id().rawId()].getStatusCode();
137 int iRing = CalibRing.getRingIndex(hitDetId);
140 else if(hitDetId.
zside()>0) ampCut =
ampCut_endcP_[iRing-N_RING_BARREL-N_RING_ENDCAP/2];
142 if( statusCode <=statusThreshold_ && amplitude > ampCut){
143 phiSymEEDigiCollection->push_back((*EEDigis->
find(hit.
id())).id(),(*EEDigis->
find(hit.
id())).begin());
147 if ((phiSymEBDigiCollection->empty() ) && (phiSymEEDigiCollection->empty()))
const edm::EDGetTokenT< EEDigiCollection > endcapDigisToken_
const std::string phiSymEndcapDigis_
bool filter(edm::StreamID, edm::Event &event, const edm::EventSetup &setup) const final
const edm::EDGetTokenT< EERecHitCollection > endcapHitsToken_
const bool useRecoFlag_
use recoflag instead of DB for bad channels
std::vector< T >::const_iterator const_iterator
def setup(process, global_tag, zero_tesla=False)
const std::vector< double > ampCut_endcM_
const std::string phiSymBarrelDigis_
const_iterator find(id_type i) const
#define DEFINE_FWK_MODULE(type)
const edm::EDGetTokenT< EcalUncalibratedRecHitCollection > endcapUncalibHitsToken_
const std::vector< double > ampCut_barlM_
const edm::EDGetTokenT< EBDigiCollection > barrelDigisToken_
int ieta() const
get the crystal ieta
const std::vector< double > ampCut_endcP_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const_iterator end() const
HLTEcalPhiSymFilter(const edm::ParameterSet &)
T const * product() const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
~HLTEcalPhiSymFilter() override
const edm::EDGetTokenT< EcalUncalibratedRecHitCollection > barrelUncalibHitsToken_
iterator find(key_type k)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const edm::EDGetTokenT< EBRecHitCollection > barrelHitsToken_
T const * product() const
const std::vector< double > ampCut_barlP_
const_iterator begin() const