CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
SiStripGainsPCLWorker Class Reference

user includes More...

#include <SiStripGainsPCLWorker.h>

Inheritance diagram for SiStripGainsPCLWorker:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 SiStripGainsPCLWorker (const edm::ParameterSet &)
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr< dqmDetails::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
 
virtual void checkBookAPVColls (const edm::EventSetup &setup)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
virtual void endJob ()
 
void processEvent (const TrackerTopology *topo)
 
int statCollectionFromMode (const char *tag) const
 

Private Attributes

bool AllowSaturation
 
const std::vector< unsigned char > * amplitude =0
 
edm::EDGetTokenT< std::vector< unsigned char > > amplitude_token_
 
std::unordered_map< unsigned int, std::shared_ptr< stAPVGain > > APVsColl
 
std::vector< std::shared_ptr< stAPVGain > > APVsCollOrdered
 
const TrackerGeometrybareTkGeomPtr_
 
std::string CalibPrefix_
 
std::string CalibSuffix_
 
const std::vector< unsigned int > * charge =0
 
std::array< std::vector< APVGain::APVmon >, 7 > Charge_1
 
std::array< std::vector< APVGain::APVmon >, 7 > Charge_2
 
std::array< std::vector< APVGain::APVmon >, 7 > Charge_3
 
std::array< std::vector< APVGain::APVmon >, 7 > Charge_4
 
edm::EDGetTokenT< std::vector< unsigned int > > charge_token_
 
std::vector< MonitorElement * > Charge_Vs_Index
 
std::vector< MonitorElement * > Charge_Vs_PathlengthTECM1
 
std::vector< MonitorElement * > Charge_Vs_PathlengthTECM2
 
std::vector< MonitorElement * > Charge_Vs_PathlengthTECP1
 
std::vector< MonitorElement * > Charge_Vs_PathlengthTECP2
 
std::vector< MonitorElement * > Charge_Vs_PathlengthTIB
 
std::vector< MonitorElement * > Charge_Vs_PathlengthTIDM
 
std::vector< MonitorElement * > Charge_Vs_PathlengthTIDP
 
std::vector< MonitorElement * > Charge_Vs_PathlengthTOB
 
const std::vector< double > * chargeoverpath =0
 
edm::EDGetTokenT< std::vector< double > > chargeoverpath_token_
 
bool doChargeMonitorPerPlane
 
std::vector< std::string > dqm_tag_
 
unsigned int ERun
 
unsigned int eventnumber =0
 
std::string EventPrefix_
 
std::string EventSuffix_
 
const std::vector< bool > * farfromedge =0
 
edm::EDGetTokenT< std::vector< bool > > farfromedge_token_
 
bool FirstSetOfConstants
 
const std::vector< unsigned short > * firststrip =0
 
edm::EDGetTokenT< std::vector< unsigned short > > firststrip_token_
 
const std::vector< double > * gainused =0
 
edm::EDGetTokenT< std::vector< double > > gainused_token_
 
const std::vector< double > * gainusedTick =0
 
edm::EDGetTokenT< std::vector< double > > gainusedTick_token_
 
const std::vector< double > * localdirx =0
 
edm::EDGetTokenT< std::vector< double > > localdirx_token_
 
const std::vector< double > * localdiry =0
 
edm::EDGetTokenT< std::vector< double > > localdiry_token_
 
const std::vector< double > * localdirz =0
 
edm::EDGetTokenT< std::vector< double > > localdirz_token_
 
std::string m_calibrationMode
 
std::string m_DQMdir
 
unsigned int MaxNrStrips
 
double MaxTrackChiOverNdf
 
double MaxTrackEta
 
int MaxTrackingIteration
 
double MaxTrackMomentum
 
double MinTrackEta
 
unsigned int MinTrackHits
 
double MinTrackMomentum
 
unsigned int NClusterPixel
 
unsigned int NClusterStrip
 
unsigned int NEvent
 
int NPixelDets
 
int NStripAPVs
 
const std::vector< unsigned short > * nstrips =0
 
edm::EDGetTokenT< std::vector< unsigned short > > nstrips_token_
 
unsigned int NTrack
 
bool OldGainRemoving
 
const std::vector< bool > * overlapping =0
 
edm::EDGetTokenT< std::vector< bool > > overlapping_token_
 
const std::vector< double > * path =0
 
edm::EDGetTokenT< std::vector< double > > path_token_
 
const std::vector< unsigned int > * rawid =0
 
edm::EDGetTokenT< std::vector< unsigned int > > rawid_token_
 
unsigned int runnumber =0
 
const std::vector< bool > * saturation =0
 
edm::EDGetTokenT< std::vector< bool > > saturation_token_
 
unsigned int SRun
 
edm::ESHandle< TrackerGeometrytkGeom_
 
const std::vector< int > * trackalgo =0
 
edm::EDGetTokenT< std::vector< int > > trackalgo_token_
 
const std::vector< double > * trackchi2ndof =0
 
edm::EDGetTokenT< std::vector< double > > trackchi2ndof_token_
 
const std::vector< double > * tracketa =0
 
edm::EDGetTokenT< std::vector< double > > tracketa_token_
 
const std::vector< unsigned int > * trackhitsvalid =0
 
edm::EDGetTokenT< std::vector< unsigned int > > trackhitsvalid_token_
 
const std::vector< int > * trackindex =0
 
edm::EDGetTokenT< std::vector< int > > trackindex_token_
 
const std::vector< float > * trackp =0
 
edm::EDGetTokenT< std::vector< float > > trackp_token_
 
const std::vector< double > * trackphi =0
 
edm::EDGetTokenT< std::vector< double > > trackphi_token_
 
std::string TrackPrefix_
 
const std::vector< float > * trackpt =0
 
edm::EDGetTokenT< std::vector< float > > trackpt_token_
 
std::string TrackSuffix_
 
const std::vector< bool > * TrigTech =0
 
edm::EDGetTokenT< std::vector< bool > > TrigTech_token_
 
bool useCalibration
 
bool Validation
 
std::vector< std::string > VChargeHisto
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

user includes

Description: Fill DQM histograms with SiStrip Charge normalized to path length

Definition at line 75 of file SiStripGainsPCLWorker.h.

Constructor & Destructor Documentation

SiStripGainsPCLWorker::SiStripGainsPCLWorker ( const edm::ParameterSet iConfig)
explicit

Definition at line 9 of file SiStripGainsPCLWorker.cc.

References AllowSaturation, amplitude_token_, CalibPrefix_, CalibSuffix_, charge_token_, Charge_Vs_Index, Charge_Vs_PathlengthTECM1, Charge_Vs_PathlengthTECM2, Charge_Vs_PathlengthTECP1, Charge_Vs_PathlengthTECP2, Charge_Vs_PathlengthTIB, Charge_Vs_PathlengthTIDM, Charge_Vs_PathlengthTIDP, Charge_Vs_PathlengthTOB, chargeoverpath_token_, doChargeMonitorPerPlane, dqm_tag_, EventPrefix_, EventSuffix_, farfromedge_token_, FirstSetOfConstants, firststrip_token_, gainused_token_, gainusedTick_token_, edm::ParameterSet::getUntrackedParameter(), diffTwoXMLs::label, localdirx_token_, localdiry_token_, localdirz_token_, m_calibrationMode, m_DQMdir, MaxNrStrips, MaxTrackChiOverNdf, MaxTrackEta, MaxTrackingIteration, MaxTrackMomentum, MinTrackEta, MinTrackHits, MinTrackMomentum, nstrips_token_, OldGainRemoving, overlapping_token_, path_token_, rawid_token_, saturation_token_, AlCaHLTBitMon_QueryRunRegistry::string, trackalgo_token_, trackchi2ndof_token_, tracketa_token_, trackhitsvalid_token_, trackindex_token_, trackp_token_, trackphi_token_, TrackPrefix_, trackpt_token_, TrackSuffix_, TrigTech_token_, useCalibration, Validation, and VChargeHisto.

9  :
10  NEvent(0),
11  NTrack(0),
12  NClusterStrip(0),
13  NClusterPixel(0),
14  NStripAPVs(0),
15  NPixelDets(0),
16  SRun(1<<31),
17  ERun(0),
18  bareTkGeomPtr_(nullptr)
19 {
20 
21  MinTrackMomentum = iConfig.getUntrackedParameter<double> ("minTrackMomentum" , 3.0);
22  MaxTrackMomentum = iConfig.getUntrackedParameter<double> ("maxTrackMomentum" , 99999.0);
23  MinTrackEta = iConfig.getUntrackedParameter<double> ("minTrackEta" , -5.0);
24  MaxTrackEta = iConfig.getUntrackedParameter<double> ("maxTrackEta" , 5.0);
25  MaxNrStrips = iConfig.getUntrackedParameter<unsigned>("maxNrStrips" , 2);
26  MinTrackHits = iConfig.getUntrackedParameter<unsigned>("MinTrackHits" , 8);
27  MaxTrackChiOverNdf = iConfig.getUntrackedParameter<double> ("MaxTrackChiOverNdf" , 3);
28  MaxTrackingIteration = iConfig.getUntrackedParameter<int> ("MaxTrackingIteration" , 7);
29  AllowSaturation = iConfig.getUntrackedParameter<bool> ("AllowSaturation" , false);
30  FirstSetOfConstants = iConfig.getUntrackedParameter<bool> ("FirstSetOfConstants" , true);
31  Validation = iConfig.getUntrackedParameter<bool> ("Validation" , false);
32  OldGainRemoving = iConfig.getUntrackedParameter<bool> ("OldGainRemoving" , false);
33  useCalibration = iConfig.getUntrackedParameter<bool> ("UseCalibration" , false);
34  doChargeMonitorPerPlane = iConfig.getUntrackedParameter<bool> ("doChargeMonitorPerPlane" , false);
35  m_DQMdir = iConfig.getUntrackedParameter<std::string> ("DQMdir" , "AlCaReco/SiStripGains");
36  m_calibrationMode = iConfig.getUntrackedParameter<std::string> ("calibrationMode" , "StdBunch");
37  VChargeHisto = iConfig.getUntrackedParameter<std::vector<std::string> > ("ChargeHisto");
38 
39  //Set the monitoring element tag and store
40  dqm_tag_.reserve(7);
41  dqm_tag_.clear();
42  dqm_tag_.push_back( "StdBunch" ); // statistic collection from Standard Collision Bunch @ 3.8 T
43  dqm_tag_.push_back( "StdBunch0T" ); // statistic collection from Standard Collision Bunch @ 0 T
44  dqm_tag_.push_back( "AagBunch" ); // statistic collection from First Collision After Abort Gap @ 3.8 T
45  dqm_tag_.push_back( "AagBunch0T" ); // statistic collection from First Collision After Abort Gap @ 0 T
46  dqm_tag_.push_back( "IsoMuon" ); // statistic collection from Isolated Muon @ 3.8 T
47  dqm_tag_.push_back( "IsoMuon0T" ); // statistic collection from Isolated Muon @ 0 T
48  dqm_tag_.push_back( "Harvest" ); // statistic collection: Harvest
49 
50  Charge_Vs_Index.insert( Charge_Vs_Index.begin(), dqm_tag_.size(), 0);
51  Charge_Vs_PathlengthTIB.insert( Charge_Vs_PathlengthTIB.begin(), dqm_tag_.size(), 0);
52  Charge_Vs_PathlengthTOB.insert( Charge_Vs_PathlengthTOB.begin(), dqm_tag_.size(), 0);
59 
60  // configure token for gathering the ntuple variables
61  edm::ParameterSet swhallowgain_pset = iConfig.getUntrackedParameter<edm::ParameterSet>("gain");
62 
63  std::string label = swhallowgain_pset.getUntrackedParameter<std::string>("label");
64  CalibPrefix_ = swhallowgain_pset.getUntrackedParameter<std::string>("prefix");
65  CalibSuffix_ = swhallowgain_pset.getUntrackedParameter<std::string>("suffix");
66 
67  trackindex_token_ = consumes<std::vector<int> >(edm::InputTag(label, CalibPrefix_ + "trackindex" + CalibSuffix_));
68  rawid_token_ = consumes<std::vector<unsigned int> >(edm::InputTag(label, CalibPrefix_ + "rawid" + CalibSuffix_));
69  localdirx_token_ = consumes<std::vector<double> >(edm::InputTag(label, CalibPrefix_ + "localdirx" + CalibSuffix_));
70  localdiry_token_ = consumes<std::vector<double> >(edm::InputTag(label, CalibPrefix_ + "localdiry" + CalibSuffix_));
71  localdirz_token_ = consumes<std::vector<double> >(edm::InputTag(label, CalibPrefix_ + "localdirz" + CalibSuffix_));
72  firststrip_token_ = consumes<std::vector<unsigned short> >(edm::InputTag(label, CalibPrefix_ + "firststrip" + CalibSuffix_));
73  nstrips_token_ = consumes<std::vector<unsigned short> >(edm::InputTag(label, CalibPrefix_ + "nstrips" + CalibSuffix_));
74  saturation_token_ = consumes<std::vector<bool> >(edm::InputTag(label, CalibPrefix_ + "saturation" + CalibSuffix_));
75  overlapping_token_ = consumes<std::vector<bool> >(edm::InputTag(label, CalibPrefix_ + "overlapping" + CalibSuffix_));
76  farfromedge_token_ = consumes<std::vector<bool> >(edm::InputTag(label, CalibPrefix_ + "farfromedge" + CalibSuffix_));
77  charge_token_ = consumes<std::vector<unsigned int> >(edm::InputTag(label, CalibPrefix_ + "charge" + CalibSuffix_));
78  path_token_ = consumes<std::vector<double> >(edm::InputTag(label, CalibPrefix_ + "path" + CalibSuffix_));
79  chargeoverpath_token_ = consumes<std::vector<double> >(edm::InputTag(label, CalibPrefix_ + "chargeoverpath"+ CalibSuffix_));
80  amplitude_token_ = consumes<std::vector<unsigned char> >(edm::InputTag(label, CalibPrefix_ + "amplitude" + CalibSuffix_));
81  gainused_token_ = consumes<std::vector<double> >(edm::InputTag(label, CalibPrefix_ + "gainused" + CalibSuffix_));
82  gainusedTick_token_ = consumes<std::vector<double> >(edm::InputTag(label, CalibPrefix_ + "gainusedTick" + CalibSuffix_));
83 
84  edm::ParameterSet evtinfo_pset = iConfig.getUntrackedParameter<edm::ParameterSet>("evtinfo");
85  label = evtinfo_pset.getUntrackedParameter<std::string>("label");
86  EventPrefix_ = evtinfo_pset.getUntrackedParameter<std::string>("prefix");
87  EventSuffix_ = evtinfo_pset.getUntrackedParameter<std::string>("suffix");
88  TrigTech_token_ = consumes<std::vector<bool> >(edm::InputTag(label, EventPrefix_ + "TrigTech" + EventSuffix_));
89 
90  edm::ParameterSet track_pset = iConfig.getUntrackedParameter<edm::ParameterSet>("tracks");
91  label = track_pset.getUntrackedParameter<std::string>("label");
92  TrackPrefix_ = track_pset.getUntrackedParameter<std::string>("prefix");
93  TrackSuffix_ = track_pset.getUntrackedParameter<std::string>("suffix");
94 
95  trackchi2ndof_token_ = consumes<std::vector<double> >(edm::InputTag(label, TrackPrefix_ + "chi2ndof" + TrackSuffix_));
96  trackp_token_ = consumes<std::vector<float> >(edm::InputTag(label, TrackPrefix_ + "momentum" + TrackSuffix_));
97  trackpt_token_ = consumes<std::vector<float> >(edm::InputTag(label, TrackPrefix_ + "pt" + TrackSuffix_));
98  tracketa_token_ = consumes<std::vector<double> >(edm::InputTag(label, TrackPrefix_ + "eta" + TrackSuffix_));
99  trackphi_token_ = consumes<std::vector<double> >(edm::InputTag(label, TrackPrefix_ + "phi" + TrackSuffix_));
100  trackhitsvalid_token_ = consumes<std::vector<unsigned int> >(edm::InputTag(label, TrackPrefix_ + "hitsvalid" + TrackSuffix_));
101  trackalgo_token_ = consumes<std::vector<int> >(edm::InputTag(label, TrackPrefix_ + "algo" + TrackSuffix_));
102 
103 }
std::vector< MonitorElement * > Charge_Vs_PathlengthTOB
edm::EDGetTokenT< std::vector< double > > gainused_token_
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< std::vector< double > > localdirz_token_
edm::EDGetTokenT< std::vector< bool > > saturation_token_
edm::EDGetTokenT< std::vector< double > > trackchi2ndof_token_
edm::EDGetTokenT< std::vector< double > > gainusedTick_token_
edm::EDGetTokenT< std::vector< float > > trackp_token_
const TrackerGeometry * bareTkGeomPtr_
edm::EDGetTokenT< std::vector< unsigned int > > trackhitsvalid_token_
edm::EDGetTokenT< std::vector< unsigned short > > firststrip_token_
edm::EDGetTokenT< std::vector< bool > > farfromedge_token_
edm::EDGetTokenT< std::vector< bool > > overlapping_token_
std::vector< std::string > dqm_tag_
edm::EDGetTokenT< std::vector< unsigned short > > nstrips_token_
edm::EDGetTokenT< std::vector< double > > tracketa_token_
std::vector< MonitorElement * > Charge_Vs_PathlengthTIB
edm::EDGetTokenT< std::vector< int > > trackindex_token_
edm::EDGetTokenT< std::vector< double > > localdirx_token_
edm::EDGetTokenT< std::vector< unsigned int > > charge_token_
std::vector< MonitorElement * > Charge_Vs_PathlengthTECP1
edm::EDGetTokenT< std::vector< double > > trackphi_token_
std::vector< MonitorElement * > Charge_Vs_PathlengthTECM2
edm::EDGetTokenT< std::vector< float > > trackpt_token_
std::vector< std::string > VChargeHisto
edm::EDGetTokenT< std::vector< double > > path_token_
std::vector< MonitorElement * > Charge_Vs_PathlengthTECM1
edm::EDGetTokenT< std::vector< double > > chargeoverpath_token_
edm::EDGetTokenT< std::vector< int > > trackalgo_token_
std::vector< MonitorElement * > Charge_Vs_PathlengthTECP2
edm::EDGetTokenT< std::vector< double > > localdiry_token_
std::vector< MonitorElement * > Charge_Vs_PathlengthTIDP
edm::EDGetTokenT< std::vector< unsigned char > > amplitude_token_
std::vector< MonitorElement * > Charge_Vs_PathlengthTIDM
edm::EDGetTokenT< std::vector< unsigned int > > rawid_token_
std::vector< MonitorElement * > Charge_Vs_Index
edm::EDGetTokenT< std::vector< bool > > TrigTech_token_

Member Function Documentation

void SiStripGainsPCLWorker::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Definition at line 147 of file SiStripGainsPCLWorker.cc.

References amplitude, amplitude_token_, charge, charge_token_, chargeoverpath, chargeoverpath_token_, connect(), edm::EventID::event(), eventnumber, farfromedge, farfromedge_token_, firststrip, firststrip_token_, gainused, gainused_token_, gainusedTick, gainusedTick_token_, edm::EventSetup::get(), edm::EventBase::id(), localdirx, localdirx_token_, localdiry, localdiry_token_, localdirz, localdirz_token_, nstrips, nstrips_token_, overlapping, overlapping_token_, path, path_token_, processEvent(), edm::ESHandle< T >::product(), rawid, rawid_token_, edm::EventID::run(), runnumber, saturation, saturation_token_, trackalgo, trackalgo_token_, trackchi2ndof, trackchi2ndof_token_, tracketa, tracketa_token_, trackhitsvalid, trackhitsvalid_token_, trackindex, trackindex_token_, trackp, trackp_token_, trackphi, trackphi_token_, trackpt, trackpt_token_, TrigTech, and TrigTech_token_.

148 {
149  using namespace edm;
150 
151  // this->checkBookAPVColls(iSetup); // check whether APV colls are booked and do so if not yet done
152 
153  eventnumber = iEvent.id().event();
154  runnumber = iEvent.id().run();
155 
156  auto handle01 = connect(TrigTech , TrigTech_token_ , iEvent);
157  auto handle02 = connect(trackchi2ndof , trackchi2ndof_token_ , iEvent);
158  auto handle03 = connect(trackp , trackp_token_ , iEvent);
159  auto handle04 = connect(trackpt , trackpt_token_ , iEvent);
160  auto handle05 = connect(tracketa , tracketa_token_ , iEvent);
161  auto handle06 = connect(trackphi , trackphi_token_ , iEvent);
162  auto handle07 = connect(trackhitsvalid, trackhitsvalid_token_, iEvent);
163  auto handle08 = connect(trackindex , trackindex_token_ , iEvent);
164  auto handle09 = connect(rawid , rawid_token_ , iEvent);
165  auto handle11 = connect(localdirx , localdirx_token_ , iEvent);
166  auto handle12 = connect(localdiry , localdiry_token_ , iEvent);
167  auto handle13 = connect(localdirz , localdirz_token_ , iEvent);
168  auto handle14 = connect(firststrip , firststrip_token_ , iEvent);
169  auto handle15 = connect(nstrips , nstrips_token_ , iEvent);
170  auto handle16 = connect(saturation , saturation_token_ , iEvent);
171  auto handle17 = connect(overlapping , overlapping_token_ , iEvent);
172  auto handle18 = connect(farfromedge , farfromedge_token_ , iEvent);
173  auto handle19 = connect(charge , charge_token_ , iEvent);
174  auto handle21 = connect(path , path_token_ , iEvent);
175  auto handle22 = connect(chargeoverpath, chargeoverpath_token_, iEvent);
176  auto handle23 = connect(amplitude , amplitude_token_ , iEvent);
177  auto handle24 = connect(gainused , gainused_token_ , iEvent);
178  auto handle25 = connect(gainusedTick , gainusedTick_token_ , iEvent);
179  auto handle26 = connect(trackalgo , trackalgo_token_ , iEvent);
180 
182  iSetup.get<TrackerTopologyRcd>().get( TopoHandle );
183  const TrackerTopology* topo = TopoHandle.product();
184 
185  processEvent(topo);
186 
187 }
RunNumber_t run() const
Definition: EventID.h:39
const std::vector< double > * chargeoverpath
edm::EDGetTokenT< std::vector< double > > gainused_token_
EventNumber_t event() const
Definition: EventID.h:41
const std::vector< int > * trackalgo
edm::EDGetTokenT< std::vector< double > > localdirz_token_
edm::EDGetTokenT< std::vector< bool > > saturation_token_
edm::EDGetTokenT< std::vector< double > > trackchi2ndof_token_
edm::EDGetTokenT< std::vector< double > > gainusedTick_token_
edm::EDGetTokenT< std::vector< float > > trackp_token_
const std::vector< bool > * TrigTech
const std::vector< int > * trackindex
const std::vector< float > * trackpt
const std::vector< unsigned int > * rawid
const std::vector< unsigned int > * charge
const std::vector< double > * path
const std::vector< bool > * farfromedge
edm::EDGetTokenT< std::vector< unsigned int > > trackhitsvalid_token_
edm::EDGetTokenT< std::vector< unsigned short > > firststrip_token_
edm::EDGetTokenT< std::vector< bool > > farfromedge_token_
edm::EDGetTokenT< std::vector< bool > > overlapping_token_
const std::vector< double > * gainusedTick
edm::EDGetTokenT< std::vector< unsigned short > > nstrips_token_
const std::vector< double > * tracketa
edm::EDGetTokenT< std::vector< double > > tracketa_token_
const std::vector< double > * localdiry
const std::vector< float > * trackp
const std::vector< bool > * saturation
const std::vector< double > * localdirz
const std::vector< double > * trackphi
const std::vector< bool > * overlapping
edm::EDGetTokenT< std::vector< int > > trackindex_token_
const std::vector< double > * localdirx
edm::EDGetTokenT< std::vector< double > > localdirx_token_
edm::EDGetTokenT< std::vector< unsigned int > > charge_token_
edm::EDGetTokenT< std::vector< double > > trackphi_token_
const std::vector< unsigned short > * firststrip
const std::vector< unsigned int > * trackhitsvalid
edm::EDGetTokenT< std::vector< float > > trackpt_token_
const T & get() const
Definition: EventSetup.h:56
edm::Handle< T > connect(const T *&ptr, edm::EDGetTokenT< T > token, const edm::Event &evt)
edm::EDGetTokenT< std::vector< double > > path_token_
edm::EventID id() const
Definition: EventBase.h:60
HLT enums.
const std::vector< unsigned char > * amplitude
void processEvent(const TrackerTopology *topo)
edm::EDGetTokenT< std::vector< double > > chargeoverpath_token_
const std::vector< double > * trackchi2ndof
edm::EDGetTokenT< std::vector< int > > trackalgo_token_
edm::EDGetTokenT< std::vector< double > > localdiry_token_
edm::EDGetTokenT< std::vector< unsigned char > > amplitude_token_
const std::vector< unsigned short > * nstrips
T const * product() const
Definition: ESHandle.h:86
const std::vector< double > * gainused
edm::EDGetTokenT< std::vector< unsigned int > > rawid_token_
edm::EDGetTokenT< std::vector< bool > > TrigTech_token_
void SiStripGainsPCLWorker::beginJob ( void  )
privatevirtual

Definition at line 353 of file SiStripGainsPCLWorker.cc.

354 {
355 }
void SiStripGainsPCLWorker::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
privatevirtual

Implements DQMEDAnalyzer.

Definition at line 490 of file SiStripGainsPCLWorker.cc.

References DQMStore::IBooker::book1DD(), DQMStore::IBooker::book2S(), DQMStore::IBooker::cd(), Charge_1, Charge_2, Charge_3, Charge_4, Charge_Vs_Index, Charge_Vs_PathlengthTECM1, Charge_Vs_PathlengthTECM2, Charge_Vs_PathlengthTECP1, Charge_Vs_PathlengthTECP2, Charge_Vs_PathlengthTIB, Charge_Vs_PathlengthTIDM, Charge_Vs_PathlengthTIDP, Charge_Vs_PathlengthTOB, doChargeMonitorPerPlane, dqm_tag_, plotBeamSpotDB::first, mps_fire::i, m_calibrationMode, m_DQMdir, APVGain::monHnames(), edm::second(), DQMStore::IBooker::setCurrentFolder(), statCollectionFromMode(), AlCaHLTBitMon_QueryRunRegistry::string, APVGain::subdetectorId(), APVGain::subdetectorPlane(), APVGain::subdetectorSide(), GlobalPosition_Frontier_DevDB_cff::tag, and VChargeHisto.

490  {
491 
492  ibooker.cd();
493  std::string dqm_dir = m_DQMdir;
494  const char* tag = dqm_tag_[statCollectionFromMode(m_calibrationMode.c_str())].c_str();
495 
496  edm::LogInfo("SiStripGainsPCLWorker") << "Setting " << dqm_dir << "in DQM and booking histograms for tag "
497  << tag << std::endl;
498 
499  ibooker.setCurrentFolder(dqm_dir);
500 
501  std::string stag(tag);
502  if(stag.size()!=0 && stag[0]!='_') stag.insert(0,1,'_');
503 
504  std::string cvi = std::string("Charge_Vs_Index") + stag;
505  std::string cvpTIB = std::string("Charge_Vs_PathlengthTIB") + stag;
506  std::string cvpTOB = std::string("Charge_Vs_PathlengthTOB") + stag;
507  std::string cvpTIDP = std::string("Charge_Vs_PathlengthTIDP") + stag;
508  std::string cvpTIDM = std::string("Charge_Vs_PathlengthTIDM") + stag;
509  std::string cvpTECP1 = std::string("Charge_Vs_PathlengthTECP1") + stag;
510  std::string cvpTECP2 = std::string("Charge_Vs_PathlengthTECP2") + stag;
511  std::string cvpTECM1 = std::string("Charge_Vs_PathlengthTECM1") + stag;
512  std::string cvpTECM2 = std::string("Charge_Vs_PathlengthTECM2") + stag;
513 
514  int elepos = statCollectionFromMode(tag);
515 
516  Charge_Vs_Index[elepos] = ibooker.book2S(cvi.c_str() , cvi.c_str() , 88625, 0 , 88624,2000,0,4000);
517  Charge_Vs_PathlengthTIB[elepos] = ibooker.book2S(cvpTIB.c_str() , cvpTIB.c_str() , 20 , 0.3 , 1.3 , 250,0,2000);
518  Charge_Vs_PathlengthTOB[elepos] = ibooker.book2S(cvpTOB.c_str() , cvpTOB.c_str() , 20 , 0.3 , 1.3 , 250,0,2000);
519  Charge_Vs_PathlengthTIDP[elepos] = ibooker.book2S(cvpTIDP.c_str() , cvpTIDP.c_str() , 20 , 0.3 , 1.3 , 250,0,2000);
520  Charge_Vs_PathlengthTIDM[elepos] = ibooker.book2S(cvpTIDM.c_str() , cvpTIDM.c_str() , 20 , 0.3 , 1.3 , 250,0,2000);
521  Charge_Vs_PathlengthTECP1[elepos] = ibooker.book2S(cvpTECP1.c_str(), cvpTECP1.c_str(), 20 , 0.3 , 1.3 , 250,0,2000);
522  Charge_Vs_PathlengthTECP2[elepos] = ibooker.book2S(cvpTECP2.c_str(), cvpTECP2.c_str(), 20 , 0.3 , 1.3 , 250,0,2000);
523  Charge_Vs_PathlengthTECM1[elepos] = ibooker.book2S(cvpTECM1.c_str(), cvpTECM1.c_str(), 20 , 0.3 , 1.3 , 250,0,2000);
524  Charge_Vs_PathlengthTECM2[elepos] = ibooker.book2S(cvpTECM2.c_str(), cvpTECM2.c_str(), 20 , 0.3 , 1.3 , 250,0,2000);
525 
526  std::vector<std::pair<std::string,std::string>> hnames = APVGain::monHnames(VChargeHisto,doChargeMonitorPerPlane,"");
527  for (unsigned int i=0;i<hnames.size();i++){
528  std::string htag = (hnames[i]).first + stag;
529  MonitorElement* monitor = ibooker.book1DD( htag.c_str(), (hnames[i]).second.c_str(), 100 , 0. , 1000. );
530  int id = APVGain::subdetectorId((hnames[i]).first);
531  int side = APVGain::subdetectorSide((hnames[i]).first);
532  int plane = APVGain::subdetectorPlane((hnames[i]).first);
533  Charge_1[elepos].push_back( APVGain::APVmon(id,side,plane,monitor) );
534  }
535 
537  for (unsigned int i=0;i<hnames.size();i++){
538  std::string htag = (hnames[i]).first + stag;
539  MonitorElement* monitor = ibooker.book1DD( htag.c_str(), (hnames[i]).second.c_str(), 100 , 0. , 1000. );
540  int id = APVGain::subdetectorId((hnames[i]).first);
541  int side = APVGain::subdetectorSide((hnames[i]).first);
542  int plane = APVGain::subdetectorPlane((hnames[i]).first);
543  Charge_2[elepos].push_back( APVGain::APVmon(id,side,plane,monitor) );
544  }
545 
547  for (unsigned int i=0;i<hnames.size();i++){
548  std::string htag = (hnames[i]).first + stag;
549  MonitorElement* monitor = ibooker.book1DD( htag.c_str(), (hnames[i]).second.c_str(), 100 , 0. , 1000. );
550  int id = APVGain::subdetectorId((hnames[i]).first);
551  int side = APVGain::subdetectorSide((hnames[i]).first);
552  int plane = APVGain::subdetectorPlane((hnames[i]).first);
553  Charge_3[elepos].push_back( APVGain::APVmon(id,side,plane,monitor) );
554  }
555 
557  for (unsigned int i=0;i<hnames.size();i++){
558  std::string htag = (hnames[i]).first + stag;
559  MonitorElement* monitor = ibooker.book1DD( htag.c_str(), (hnames[i]).second.c_str(), 100 , 0. , 1000. );
560  int id = APVGain::subdetectorId((hnames[i]).first);
561  int side = APVGain::subdetectorSide((hnames[i]).first);
562  int plane = APVGain::subdetectorPlane((hnames[i]).first);
563  Charge_4[elepos].push_back( APVGain::APVmon(id,side,plane,monitor) );
564  }
565 
566 }
std::vector< MonitorElement * > Charge_Vs_PathlengthTOB
std::array< std::vector< APVGain::APVmon >, 7 > Charge_1
void cd(void)
Definition: DQMStore.cc:269
int subdetectorPlane(uint32_t, const TrackerTopology *)
std::vector< std::string > dqm_tag_
U second(std::pair< T, U > const &p)
MonitorElement * book2S(Args &&...args)
Definition: DQMStore.h:139
std::vector< MonitorElement * > Charge_Vs_PathlengthTIB
std::array< std::vector< APVGain::APVmon >, 7 > Charge_4
std::vector< MonitorElement * > Charge_Vs_PathlengthTECP1
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
std::vector< MonitorElement * > Charge_Vs_PathlengthTECM2
std::array< std::vector< APVGain::APVmon >, 7 > Charge_2
int subdetectorSide(uint32_t, const TrackerTopology *)
std::vector< std::string > VChargeHisto
std::vector< MonitorElement * > Charge_Vs_PathlengthTECM1
std::array< std::vector< APVGain::APVmon >, 7 > Charge_3
int statCollectionFromMode(const char *tag) const
std::vector< MonitorElement * > Charge_Vs_PathlengthTECP2
std::vector< std::pair< std::string, std::string > > monHnames(std::vector< std::string >, bool, const char *tag)
std::vector< MonitorElement * > Charge_Vs_PathlengthTIDP
MonitorElement * book1DD(Args &&...args)
Definition: DQMStore.h:127
std::vector< MonitorElement * > Charge_Vs_PathlengthTIDM
int subdetectorId(uint32_t)
std::vector< MonitorElement * > Charge_Vs_Index
void SiStripGainsPCLWorker::checkBookAPVColls ( const edm::EventSetup setup)
privatevirtual

Definition at line 360 of file SiStripGainsPCLWorker.cc.

References sistrip::APV, APVsColl, APVsCollOrdered, bareTkGeomPtr_, TrackerGeometry::dets(), edm::EventSetup::get(), mps_fire::i, PixelTopology::ncolumns(), NPixelDets, PixelTopology::nrows(), NStripAPVs, StripTopology::nstrips(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, DetId::rawId(), ntupleEnum::SubDet, DetId::subdetId(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, tkGeom_, and StripSubdetector::TOB.

Referenced by dqmBeginRun().

360  {
361 
362  es.get<TrackerDigiGeometryRecord>().get( tkGeom_ );
363  const TrackerGeometry *newBareTkGeomPtr = &(*tkGeom_);
364  if (newBareTkGeomPtr == bareTkGeomPtr_) return; // already filled APVColls, nothing changed
365 
366  if (!bareTkGeomPtr_) { // pointer not yet set: called the first time => fill the APVColls
367  auto const & Det = newBareTkGeomPtr->dets();
368 
369  edm::LogInfo("SiStripGainsPCLWorker")
370  <<" Resetting APV struct"<<std::endl;
371 
372  unsigned int Index=0;
373 
374  for(unsigned int i=0;i<Det.size();i++){
375 
376  DetId Detid = Det[i]->geographicalId();
377  int SubDet = Detid.subdetId();
378 
379  if( SubDet == StripSubdetector::TIB || SubDet == StripSubdetector::TID ||
380  SubDet == StripSubdetector::TOB || SubDet == StripSubdetector::TEC ){
381 
382  auto DetUnit = dynamic_cast<const StripGeomDetUnit*> (Det[i]);
383  if(!DetUnit)continue;
384 
385  const StripTopology& Topo = DetUnit->specificTopology();
386  unsigned int NAPV = Topo.nstrips()/128;
387 
388  for(unsigned int j=0;j<NAPV;j++){
389  auto APV = std::make_shared<stAPVGain>();
390  APV->Index = Index;
391  APV->Bin = -1;
392  APV->DetId = Detid.rawId();
393  APV->APVId = j;
394  APV->SubDet = SubDet;
395  APV->FitMPV = -1;
396  APV->FitMPVErr = -1;
397  APV->FitWidth = -1;
398  APV->FitWidthErr = -1;
399  APV->FitChi2 = -1;
400  APV->FitNorm = -1;
401  APV->Gain = -1;
402  APV->PreviousGain = 1;
403  APV->PreviousGainTick = 1;
404  APV->x = DetUnit->position().basicVector().x();
405  APV->y = DetUnit->position().basicVector().y();
406  APV->z = DetUnit->position().basicVector().z();
407  APV->Eta = DetUnit->position().basicVector().eta();
408  APV->Phi = DetUnit->position().basicVector().phi();
409  APV->R = DetUnit->position().basicVector().transverse();
410  APV->Thickness = DetUnit->surface().bounds().thickness();
411  APV->NEntries = 0;
412  APV->isMasked = false;
413 
414  APVsCollOrdered.push_back(APV);
415  APVsColl[(APV->DetId<<4) | APV->APVId] = APV;
416  Index++;
417  NStripAPVs++;
418  } // loop on APVs
419  } // if is Strips
420  } // loop on dets
421 
422  for(unsigned int i=0;i<Det.size();i++){ //Make two loop such that the Pixel information is added at the end --> make transition simpler
423  DetId Detid = Det[i]->geographicalId();
424  int SubDet = Detid.subdetId();
426  auto DetUnit = dynamic_cast<const PixelGeomDetUnit*> (Det[i]);
427  if(!DetUnit) continue;
428 
429  const PixelTopology& Topo = DetUnit->specificTopology();
430  unsigned int NROCRow = Topo.nrows()/(80.);
431  unsigned int NROCCol = Topo.ncolumns()/(52.);
432 
433  for(unsigned int j=0;j<NROCRow;j++){
434  for(unsigned int i=0;i<NROCCol;i++){
435 
436  auto APV = std::make_shared<stAPVGain>();
437  APV->Index = Index;
438  APV->Bin = -1;
439  APV->DetId = Detid.rawId();
440  APV->APVId = (j<<3 | i);
441  APV->SubDet = SubDet;
442  APV->FitMPV = -1;
443  APV->FitMPVErr = -1;
444  APV->FitWidth = -1;
445  APV->FitWidthErr = -1;
446  APV->FitChi2 = -1;
447  APV->Gain = -1;
448  APV->PreviousGain = 1;
449  APV->PreviousGainTick = 1;
450  APV->x = DetUnit->position().basicVector().x();
451  APV->y = DetUnit->position().basicVector().y();
452  APV->z = DetUnit->position().basicVector().z();
453  APV->Eta = DetUnit->position().basicVector().eta();
454  APV->Phi = DetUnit->position().basicVector().phi();
455  APV->R = DetUnit->position().basicVector().transverse();
456  APV->Thickness = DetUnit->surface().bounds().thickness();
457  APV->isMasked = false; //SiPixelQuality_->IsModuleBad(Detid.rawId());
458  APV->NEntries = 0;
459 
460  APVsCollOrdered.push_back(APV);
461  APVsColl[(APV->DetId<<4) | APV->APVId] = APV;
462  Index++;
463  NPixelDets++;
464 
465  } // loop on ROC cols
466  } // loop on ROC rows
467  } // if Pixel
468  } // loop on Dets
469  } //if (!bareTkGeomPtr_) ...
470  bareTkGeomPtr_ = newBareTkGeomPtr;
471 }
virtual int nrows() const =0
const DetContainer & dets() const
Returm a vector of all GeomDet (including all GeomDetUnits)
const TrackerGeometry * bareTkGeomPtr_
std::vector< std::shared_ptr< stAPVGain > > APVsCollOrdered
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
edm::ESHandle< TrackerGeometry > tkGeom_
std::unordered_map< unsigned int, std::shared_ptr< stAPVGain > > APVsColl
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
Definition: DetId.h:18
virtual int nstrips() const =0
virtual int ncolumns() const =0
void SiStripGainsPCLWorker::dqmBeginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
privatevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 107 of file SiStripGainsPCLWorker.cc.

References a, sistrip::APV, APVsCollOrdered, checkBookAPVColls(), cmsRelvalreport::exit, edm::EventSetup::get(), SiStripGain::getApvGain(), SiStripGain::getNumberOfTags(), SiStripGain::getRange(), SiStripQuality::IsApvBad(), edm::ESHandleBase::isValid(), PixelSubdetector::PixelBarrel, and PixelSubdetector::PixelEndcap.

107  {
108 
109  using namespace edm;
110 
111  this->checkBookAPVColls(iSetup); // check whether APV colls are booked and do so if not yet done
112 
113  edm::ESHandle<SiStripGain> gainHandle;
114  iSetup.get<SiStripGainRcd>().get(gainHandle);
115  if(!gainHandle.isValid()){edm::LogError("SiStripGainPCLWorker")<< "gainHandle is not valid\n"; exit(0);}
116 
117  edm::ESHandle<SiStripQuality> SiStripQuality_;
118  iSetup.get<SiStripQualityRcd>().get(SiStripQuality_);
119 
120  for(unsigned int a=0;a<APVsCollOrdered.size();a++){
121 
122  std::shared_ptr<stAPVGain> APV = APVsCollOrdered[a];
123 
124  if(APV->SubDet==PixelSubdetector::PixelBarrel || APV->SubDet==PixelSubdetector::PixelEndcap) continue;
125 
126  APV->isMasked = SiStripQuality_->IsApvBad(APV->DetId,APV->APVId);
127 
128  if(gainHandle->getNumberOfTags()!=2){edm::LogError("SiStripGainPCLWorker")<< "NUMBER OF GAIN TAG IS EXPECTED TO BE 2\n";fflush(stdout);exit(0);};
129  float newPreviousGain = gainHandle->getApvGain(APV->APVId,gainHandle->getRange(APV->DetId, 1),1);
130  if(APV->PreviousGain!=1 and newPreviousGain!=APV->PreviousGain)edm::LogWarning("SiStripGainPCLWorker")<< "WARNING: ParticleGain in the global tag changed\n";
131  APV->PreviousGain = newPreviousGain;
132 
133  float newPreviousGainTick = gainHandle->getApvGain(APV->APVId,gainHandle->getRange(APV->DetId, 0),0);
134  if(APV->PreviousGainTick!=1 and newPreviousGainTick!=APV->PreviousGainTick){
135  edm::LogWarning("SiStripGainPCLWorker")<< "WARNING: TickMarkGain in the global tag changed\n"<< std::endl
136  <<" APV->SubDet: "<< APV->SubDet << " APV->APVId:" << APV->APVId << std::endl
137  <<" APV->PreviousGainTick: "<<APV->PreviousGainTick<<" newPreviousGainTick: "<<newPreviousGainTick<<std::endl;
138  }
139  APV->PreviousGainTick = newPreviousGainTick;
140  }
141 
142 }
bool IsApvBad(const uint32_t &detid, const short &apvNb) const
virtual void checkBookAPVColls(const edm::EventSetup &setup)
size_t getNumberOfTags() const
Definition: SiStripGain.h:87
std::vector< std::shared_ptr< stAPVGain > > APVsCollOrdered
static float getApvGain(const uint16_t &apv, const SiStripApvGain::Range &range)
Definition: SiStripGain.h:69
HLT enums.
double a
Definition: hdecay.h:121
bool isValid() const
Definition: ESHandle.h:47
const SiStripApvGain::Range getRange(uint32_t detID) const
Definition: SiStripGain.h:66
void SiStripGainsPCLWorker::endJob ( void  )
privatevirtual

Definition at line 476 of file SiStripGainsPCLWorker.cc.

Referenced by o2olib.O2ORunMgr::executeJob().

477 {
478 }
void SiStripGainsPCLWorker::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static
void SiStripGainsPCLWorker::processEvent ( const TrackerTopology topo)
private

Definition at line 190 of file SiStripGainsPCLWorker.cc.

References AllowSaturation, sistrip::APV, APVsColl, Charge_1, Charge_2, Charge_3, Charge_4, Charge_Vs_Index, Charge_Vs_PathlengthTECM1, Charge_Vs_PathlengthTECM2, Charge_Vs_PathlengthTECP1, Charge_Vs_PathlengthTECP2, Charge_Vs_PathlengthTIB, Charge_Vs_PathlengthTIDM, Charge_Vs_PathlengthTIDP, Charge_Vs_PathlengthTOB, ERun, eventnumber, funct::false, farfromedge, APVGain::FetchMonitor(), HcalObjRepresent::Fill(), FirstSetOfConstants, firststrip, mps_fire::i, createfilelist::int, LogDebug, funct::m, m_calibrationMode, MaxNrStrips, MaxTrackChiOverNdf, MaxTrackEta, MaxTrackingIteration, MaxTrackMomentum, MinTrackEta, MinTrackHits, MinTrackMomentum, NClusterPixel, NClusterStrip, NEvent, NPixelDets, NStripAPVs, nstrips, NTrack, OldGainRemoving, overlapping, path, rawid, runnumber, alignCSCRings::s, saturation, SRun, statCollectionFromMode(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, trackalgo, trackchi2ndof, tracketa, trackhitsvalid, trackp, funct::true, useCalibration, and Validation.

Referenced by analyze().

190  {
191 
192  edm::LogInfo("SiStripGainsPCLWorker") << "Processing run " << runnumber
193  << " and event " << eventnumber
194  << std::endl;
195 
198 
199  NEvent++;
200  NTrack+=(*trackp).size();
201 
202  edm::LogInfo("SiStripGainsPCLWorker")
203  <<"for mode"<< m_calibrationMode
204  <<" Nevent:"<<NEvent
205  <<" NTrack:"<<NTrack
206  <<" NClusterStrip:"<<NClusterStrip
207  <<" NClusterPixel:"<<NClusterPixel
208  <<" NStripAPVs:"<<NStripAPVs
209  <<" NPixelDets:"<<NPixelDets
210  <<std::endl;
211 
212  int elepos = statCollectionFromMode(m_calibrationMode.c_str());
213 
214  unsigned int FirstAmplitude=0;
215  for(unsigned int i=0;i<(*chargeoverpath).size();i++){
216 
217  FirstAmplitude+=(*nstrips)[i];
218  int TI = (*trackindex)[i];
219 
220  if((*tracketa )[TI] < MinTrackEta )continue;
221  if((*tracketa )[TI] > MaxTrackEta )continue;
222  if((*trackp )[TI] < MinTrackMomentum )continue;
223  if((*trackp )[TI] > MaxTrackMomentum )continue;
224  if((*trackhitsvalid)[TI] < MinTrackHits )continue;
225  if((*trackchi2ndof )[TI] > MaxTrackChiOverNdf )continue;
226  if((*trackalgo )[TI] > MaxTrackingIteration )continue;
227 
228  std::shared_ptr<stAPVGain> APV = APVsColl[((*rawid)[i]<<4) | ((*firststrip)[i]/128)]; //works for both strip and pixel thanks to firstStrip encoding for pixel in the calibTree
229 
230  if(APV->SubDet>2 && (*farfromedge)[i] == false )continue;
231  if(APV->SubDet>2 && (*overlapping)[i] == true )continue;
232  if(APV->SubDet>2 && (*saturation )[i] && !AllowSaturation)continue;
233  if(APV->SubDet>2 && (*nstrips )[i] > MaxNrStrips )continue;
234 
235  if(APV->SubDet>2){
236  NClusterStrip++;
237  } else {
238  NClusterPixel++;
239  }
240 
241  int Charge = 0;
242  if(APV->SubDet>2 && (useCalibration || !FirstSetOfConstants)){
243  bool Saturation = false;
244  for(unsigned int s=0;s<(*nstrips)[i];s++){
245  int StripCharge = (*amplitude)[FirstAmplitude-(*nstrips)[i]+s];
246  if(useCalibration && !FirstSetOfConstants){ StripCharge=(int)(StripCharge*(APV->PreviousGain/APV->CalibGain));
247  }else if(useCalibration){ StripCharge=(int)(StripCharge/APV->CalibGain);
248  }else if(!FirstSetOfConstants){ StripCharge=(int)(StripCharge*APV->PreviousGain);}
249  if(StripCharge>1024){
250  StripCharge = 255;
251  Saturation = true;
252  }else if(StripCharge>254){
253  StripCharge = 254;
254  Saturation = true;
255  }
256  Charge += StripCharge;
257  }
258  if(Saturation && !AllowSaturation)continue;
259  }else if(APV->SubDet>2){
260  Charge = (*charge)[i];
261  }else{
262  Charge = (*charge)[i]/265.0; //expected scale factor between pixel and strip charge
263  }
264 
265  double ClusterChargeOverPath = ( (double) Charge )/(*path)[i] ;
266  if(APV->SubDet>2){
267  if(Validation) {ClusterChargeOverPath/=(*gainused)[i];}
268  if(OldGainRemoving){ClusterChargeOverPath*=(*gainused)[i];}
269  }
270 
271  // real histogram for calibration
272  (Charge_Vs_Index[elepos])->Fill(APV->Index,ClusterChargeOverPath);
273 
274  LogDebug("SiStripGainsPCLWorker") <<" for mode "<< m_calibrationMode << "\n"
275  <<" i "<< i
276  <<" NClusterStrip "<< NClusterStrip
277  <<" useCalibration "<< useCalibration
278  <<" FirstSetOfConstants "<< FirstSetOfConstants
279  <<" APV->DetId "<< APV->DetId
280  <<" APV->Index "<< APV->Index
281  <<" Charge "<< Charge
282  <<" ClusterChargeOverPath "<< ClusterChargeOverPath
283  <<std::endl;
284 
285  // Fill monitoring histograms
286  int mCharge1 = 0;
287  int mCharge2 = 0;
288  int mCharge3 = 0;
289  int mCharge4 = 0;
290  if(APV->SubDet>2) {
291  for(unsigned int s=0;s<(*nstrips)[i];s++){
292  int StripCharge = (*amplitude)[FirstAmplitude-(*nstrips)[i]+s];
293  if(StripCharge>1024) StripCharge = 255;
294  else if(StripCharge>254) StripCharge = 254;
295  mCharge1 += StripCharge;
296  mCharge2 += StripCharge;
297  mCharge3 += StripCharge;
298  mCharge4 += StripCharge;
299  }
300  // Revome gains for monitoring
301  mCharge2 *= (*gainused)[i]; // remove G2
302  mCharge3 *= (*gainusedTick)[i]; // remove G1
303  mCharge4 *= ( (*gainused)[i] * (*gainusedTick)[i]); // remove G1 and G2
304  }
305  std::vector<APVGain::APVmon>& v1 = Charge_1[elepos];
306  std::vector<MonitorElement*> cmon1 = APVGain::FetchMonitor(v1, (*rawid)[i], topo);
307  for(unsigned int m=0; m<cmon1.size(); m++) cmon1[m]->Fill(( (double) mCharge1 )/(*path)[i]);
308 
309  std::vector<APVGain::APVmon>& v2 = Charge_2[elepos];
310  std::vector<MonitorElement*> cmon2 = APVGain::FetchMonitor(v2, (*rawid)[i], topo);
311  for(unsigned int m=0; m<cmon2.size(); m++) cmon2[m]->Fill(( (double) mCharge2 )/(*path)[i]);
312 
313  std::vector<APVGain::APVmon>& v3 = Charge_3[elepos];
314  std::vector<MonitorElement*> cmon3 = APVGain::FetchMonitor(v3, (*rawid)[i], topo);
315  for(unsigned int m=0; m<cmon3.size(); m++) cmon3[m]->Fill(( (double) mCharge3 )/(*path)[i]);
316 
317  std::vector<APVGain::APVmon>& v4 = Charge_4[elepos];
318  std::vector<MonitorElement*> cmon4 = APVGain::FetchMonitor(v4, (*rawid)[i], topo);
319  for(unsigned int m=0; m<cmon4.size(); m++) cmon4[m]->Fill(( (double) mCharge4 )/(*path)[i]);
320 
321 
322  if(APV->SubDet==StripSubdetector::TIB){
323  (Charge_Vs_PathlengthTIB[elepos])->Fill((*path)[i],Charge); // TIB
324 
325  }else if(APV->SubDet==StripSubdetector::TOB){
326  (Charge_Vs_PathlengthTOB[elepos])->Fill((*path)[i],Charge); // TOB
327 
328  }else if(APV->SubDet==StripSubdetector::TID){
329  if(APV->Eta<0) { (Charge_Vs_PathlengthTIDM[elepos])->Fill((*path)[i],Charge); } // TID minus
330  else if(APV->Eta>0){ (Charge_Vs_PathlengthTIDP[elepos])->Fill((*path)[i],Charge); } // TID plus
331 
332  }else if(APV->SubDet==StripSubdetector::TEC){
333  if(APV->Eta<0){
334  if(APV->Thickness<0.04) { (Charge_Vs_PathlengthTECM1[elepos])->Fill((*path)[i],Charge); } // TEC minus, type 1
335  else if(APV->Thickness>0.04){ (Charge_Vs_PathlengthTECM2[elepos])->Fill((*path)[i],Charge); } // TEC minus, type 2
336  } else if(APV->Eta>0){
337  if(APV->Thickness<0.04) { (Charge_Vs_PathlengthTECP1[elepos])->Fill((*path)[i],Charge); } // TEC plus, type 1
338  else if(APV->Thickness>0.04){ (Charge_Vs_PathlengthTECP2[elepos])->Fill((*path)[i],Charge); } // TEC plus, type 2
339  }
340  }
341 
342  }// END OF ON-CLUSTER LOOP
343 
344  LogDebug("SiStripGainsPCLWorker")<<" for mode"<< m_calibrationMode
345  <<" entries in histogram:"<< (Charge_Vs_Index[elepos])->getTH2S()->GetEntries()
346  <<std::endl;
347 
348 }//END OF processEvent()
#define LogDebug(id)
std::vector< MonitorElement * > Charge_Vs_PathlengthTOB
const std::vector< int > * trackalgo
std::array< std::vector< APVGain::APVmon >, 7 > Charge_1
const std::vector< unsigned int > * rawid
const std::vector< double > * path
const std::vector< bool > * farfromedge
const std::vector< double > * tracketa
std::vector< MonitorElement * > FetchMonitor(std::vector< APVmon >, uint32_t, const TrackerTopology *topo=0)
const std::vector< float > * trackp
const std::vector< bool > * saturation
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
std::unordered_map< unsigned int, std::shared_ptr< stAPVGain > > APVsColl
std::vector< MonitorElement * > Charge_Vs_PathlengthTIB
std::array< std::vector< APVGain::APVmon >, 7 > Charge_4
const std::vector< bool > * overlapping
std::vector< MonitorElement * > Charge_Vs_PathlengthTECP1
const std::vector< unsigned short > * firststrip
const std::vector< unsigned int > * trackhitsvalid
std::vector< MonitorElement * > Charge_Vs_PathlengthTECM2
std::array< std::vector< APVGain::APVmon >, 7 > Charge_2
std::vector< MonitorElement * > Charge_Vs_PathlengthTECM1
std::array< std::vector< APVGain::APVmon >, 7 > Charge_3
int statCollectionFromMode(const char *tag) const
const std::vector< double > * trackchi2ndof
std::vector< MonitorElement * > Charge_Vs_PathlengthTECP2
std::vector< MonitorElement * > Charge_Vs_PathlengthTIDP
const std::vector< unsigned short > * nstrips
std::vector< MonitorElement * > Charge_Vs_PathlengthTIDM
std::vector< MonitorElement * > Charge_Vs_Index
int SiStripGainsPCLWorker::statCollectionFromMode ( const char *  tag) const
inlineprivate

Definition at line 190 of file SiStripGainsPCLWorker.h.

References dqm_tag_, None, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by bookHistograms(), and processEvent().

191 {
192  std::vector<std::string>::const_iterator it=dqm_tag_.begin();
193  while(it!=dqm_tag_.end()) {
194  if(*it==std::string(tag)) return it-dqm_tag_.begin();
195  it++;
196  }
197 
198  if (std::string(tag)=="") return 0; // return StdBunch calibration mode for backward compatibility
199 
200  return None;
201 }
std::vector< std::string > dqm_tag_

Member Data Documentation

bool SiStripGainsPCLWorker::AllowSaturation
private

Definition at line 129 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

const std::vector<unsigned char>* SiStripGainsPCLWorker::amplitude =0
private

Definition at line 173 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<unsigned char> > SiStripGainsPCLWorker::amplitude_token_
private

Definition at line 173 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

std::unordered_map<unsigned int, std::shared_ptr<stAPVGain> > SiStripGainsPCLWorker::APVsColl
private

Definition at line 185 of file SiStripGainsPCLWorker.h.

Referenced by checkBookAPVColls(), and processEvent().

std::vector<std::shared_ptr<stAPVGain> > SiStripGainsPCLWorker::APVsCollOrdered
private

Definition at line 184 of file SiStripGainsPCLWorker.h.

Referenced by checkBookAPVColls(), and dqmBeginRun().

const TrackerGeometry* SiStripGainsPCLWorker::bareTkGeomPtr_
private

Definition at line 141 of file SiStripGainsPCLWorker.h.

Referenced by checkBookAPVColls().

std::string SiStripGainsPCLWorker::CalibPrefix_
private

Definition at line 181 of file SiStripGainsPCLWorker.h.

Referenced by SiStripGainsPCLWorker().

std::string SiStripGainsPCLWorker::CalibSuffix_
private

Definition at line 182 of file SiStripGainsPCLWorker.h.

Referenced by SiStripGainsPCLWorker().

const std::vector<unsigned int>* SiStripGainsPCLWorker::charge =0
private
std::array< std::vector<APVGain::APVmon>,7 > SiStripGainsPCLWorker::Charge_1
private

Charge per cm per layer / wheel

Definition at line 96 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), and processEvent().

std::array< std::vector<APVGain::APVmon>,7 > SiStripGainsPCLWorker::Charge_2
private

Charge per cm per layer / wheel without G2

Definition at line 97 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), and processEvent().

std::array< std::vector<APVGain::APVmon>,7 > SiStripGainsPCLWorker::Charge_3
private

Charge per cm per layer / wheel without G1

Definition at line 98 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), and processEvent().

std::array< std::vector<APVGain::APVmon>,7 > SiStripGainsPCLWorker::Charge_4
private

Charge per cm per layer / wheel without G1 and G1

Definition at line 99 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), and processEvent().

edm::EDGetTokenT<std::vector<unsigned int> > SiStripGainsPCLWorker::charge_token_
private

Definition at line 170 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

std::vector<MonitorElement*> SiStripGainsPCLWorker::Charge_Vs_Index
private

Charge per cm for each detector id

Definition at line 95 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), processEvent(), and SiStripGainsPCLWorker().

std::vector<MonitorElement*> SiStripGainsPCLWorker::Charge_Vs_PathlengthTECM1
private

Charge vs pathlength in TECP thin

Definition at line 107 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), processEvent(), and SiStripGainsPCLWorker().

std::vector<MonitorElement*> SiStripGainsPCLWorker::Charge_Vs_PathlengthTECM2
private

Charge vs pathlength in TECP thick

Definition at line 108 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), processEvent(), and SiStripGainsPCLWorker().

std::vector<MonitorElement*> SiStripGainsPCLWorker::Charge_Vs_PathlengthTECP1
private

Charge vs pathlength in TECP thin

Definition at line 105 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), processEvent(), and SiStripGainsPCLWorker().

std::vector<MonitorElement*> SiStripGainsPCLWorker::Charge_Vs_PathlengthTECP2
private

Charge vs pathlength in TECP thick

Definition at line 106 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), processEvent(), and SiStripGainsPCLWorker().

std::vector<MonitorElement*> SiStripGainsPCLWorker::Charge_Vs_PathlengthTIB
private

Charge vs pathlength in TIB

Definition at line 101 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), processEvent(), and SiStripGainsPCLWorker().

std::vector<MonitorElement*> SiStripGainsPCLWorker::Charge_Vs_PathlengthTIDM
private

Charge vs pathlength in TIDM

Definition at line 104 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), processEvent(), and SiStripGainsPCLWorker().

std::vector<MonitorElement*> SiStripGainsPCLWorker::Charge_Vs_PathlengthTIDP
private

Charge vs pathlength in TIDP

Definition at line 103 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), processEvent(), and SiStripGainsPCLWorker().

std::vector<MonitorElement*> SiStripGainsPCLWorker::Charge_Vs_PathlengthTOB
private

Charge vs pathlength in TOB

Definition at line 102 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), processEvent(), and SiStripGainsPCLWorker().

const std::vector<double>* SiStripGainsPCLWorker::chargeoverpath =0
private

Definition at line 172 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<double> > SiStripGainsPCLWorker::chargeoverpath_token_
private

Definition at line 172 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

bool SiStripGainsPCLWorker::doChargeMonitorPerPlane
private

Charge monitor per detector plane

Definition at line 134 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), and SiStripGainsPCLWorker().

std::vector<std::string> SiStripGainsPCLWorker::dqm_tag_
private
unsigned int SiStripGainsPCLWorker::ERun
private

Definition at line 119 of file SiStripGainsPCLWorker.h.

Referenced by processEvent().

unsigned int SiStripGainsPCLWorker::eventnumber =0
private

Definition at line 146 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

std::string SiStripGainsPCLWorker::EventPrefix_
private

Definition at line 177 of file SiStripGainsPCLWorker.h.

Referenced by SiStripGainsPCLWorker().

std::string SiStripGainsPCLWorker::EventSuffix_
private

Definition at line 178 of file SiStripGainsPCLWorker.h.

Referenced by SiStripGainsPCLWorker().

const std::vector<bool>* SiStripGainsPCLWorker::farfromedge =0
private

Definition at line 169 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<bool> > SiStripGainsPCLWorker::farfromedge_token_
private

Definition at line 169 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

bool SiStripGainsPCLWorker::FirstSetOfConstants
private

Definition at line 130 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

const std::vector<unsigned short>* SiStripGainsPCLWorker::firststrip =0
private

Definition at line 165 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<unsigned short> > SiStripGainsPCLWorker::firststrip_token_
private

Definition at line 165 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<double>* SiStripGainsPCLWorker::gainused =0
private

Definition at line 174 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<double> > SiStripGainsPCLWorker::gainused_token_
private

Definition at line 174 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<double>* SiStripGainsPCLWorker::gainusedTick =0
private

Definition at line 175 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<double> > SiStripGainsPCLWorker::gainusedTick_token_
private

Definition at line 175 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<double>* SiStripGainsPCLWorker::localdirx =0
private

Definition at line 162 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<double> > SiStripGainsPCLWorker::localdirx_token_
private

Definition at line 162 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<double>* SiStripGainsPCLWorker::localdiry =0
private

Definition at line 163 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<double> > SiStripGainsPCLWorker::localdiry_token_
private

Definition at line 163 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<double>* SiStripGainsPCLWorker::localdirz =0
private

Definition at line 164 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<double> > SiStripGainsPCLWorker::localdirz_token_
private

Definition at line 164 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

std::string SiStripGainsPCLWorker::m_calibrationMode
private

Type of statistics for the calibration

Definition at line 137 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), processEvent(), and SiStripGainsPCLWorker().

std::string SiStripGainsPCLWorker::m_DQMdir
private

DQM folder hosting the charge statistics and the monitor plots

Definition at line 136 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), and SiStripGainsPCLWorker().

unsigned int SiStripGainsPCLWorker::MaxNrStrips
private

Definition at line 125 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

double SiStripGainsPCLWorker::MaxTrackChiOverNdf
private

Definition at line 127 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

double SiStripGainsPCLWorker::MaxTrackEta
private

Definition at line 124 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

int SiStripGainsPCLWorker::MaxTrackingIteration
private

Definition at line 128 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

double SiStripGainsPCLWorker::MaxTrackMomentum
private

Definition at line 122 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

double SiStripGainsPCLWorker::MinTrackEta
private

Definition at line 123 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

unsigned int SiStripGainsPCLWorker::MinTrackHits
private

Definition at line 126 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

double SiStripGainsPCLWorker::MinTrackMomentum
private

Definition at line 121 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

unsigned int SiStripGainsPCLWorker::NClusterPixel
private

Definition at line 115 of file SiStripGainsPCLWorker.h.

Referenced by processEvent().

unsigned int SiStripGainsPCLWorker::NClusterStrip
private

Definition at line 114 of file SiStripGainsPCLWorker.h.

Referenced by processEvent().

unsigned int SiStripGainsPCLWorker::NEvent
private

Definition at line 112 of file SiStripGainsPCLWorker.h.

Referenced by processEvent().

int SiStripGainsPCLWorker::NPixelDets
private

Definition at line 117 of file SiStripGainsPCLWorker.h.

Referenced by checkBookAPVColls(), and processEvent().

int SiStripGainsPCLWorker::NStripAPVs
private

Definition at line 116 of file SiStripGainsPCLWorker.h.

Referenced by checkBookAPVColls(), and processEvent().

const std::vector<unsigned short>* SiStripGainsPCLWorker::nstrips =0
private

Definition at line 166 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<unsigned short> > SiStripGainsPCLWorker::nstrips_token_
private

Definition at line 166 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

unsigned int SiStripGainsPCLWorker::NTrack
private

Definition at line 113 of file SiStripGainsPCLWorker.h.

Referenced by processEvent().

bool SiStripGainsPCLWorker::OldGainRemoving
private

Definition at line 132 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

const std::vector<bool>* SiStripGainsPCLWorker::overlapping =0
private

Definition at line 168 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<bool> > SiStripGainsPCLWorker::overlapping_token_
private

Definition at line 168 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<double>* SiStripGainsPCLWorker::path =0
private
edm::EDGetTokenT<std::vector<double> > SiStripGainsPCLWorker::path_token_
private

Definition at line 171 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<unsigned int>* SiStripGainsPCLWorker::rawid =0
private

Definition at line 161 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<unsigned int> > SiStripGainsPCLWorker::rawid_token_
private

Definition at line 161 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

unsigned int SiStripGainsPCLWorker::runnumber =0
private

Definition at line 147 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

const std::vector<bool>* SiStripGainsPCLWorker::saturation =0
private

Definition at line 167 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<bool> > SiStripGainsPCLWorker::saturation_token_
private

Definition at line 167 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

unsigned int SiStripGainsPCLWorker::SRun
private

Definition at line 118 of file SiStripGainsPCLWorker.h.

Referenced by processEvent().

edm::ESHandle<TrackerGeometry> SiStripGainsPCLWorker::tkGeom_
private

Definition at line 140 of file SiStripGainsPCLWorker.h.

Referenced by checkBookAPVColls().

const std::vector<int>* SiStripGainsPCLWorker::trackalgo =0
private

Definition at line 157 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<int> > SiStripGainsPCLWorker::trackalgo_token_
private

Definition at line 157 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<double>* SiStripGainsPCLWorker::trackchi2ndof =0
private

Definition at line 151 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<double> > SiStripGainsPCLWorker::trackchi2ndof_token_
private

Definition at line 151 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<double>* SiStripGainsPCLWorker::tracketa =0
private

Definition at line 154 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<double> > SiStripGainsPCLWorker::tracketa_token_
private

Definition at line 154 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<unsigned int>* SiStripGainsPCLWorker::trackhitsvalid =0
private

Definition at line 156 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<unsigned int> > SiStripGainsPCLWorker::trackhitsvalid_token_
private

Definition at line 156 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<int>* SiStripGainsPCLWorker::trackindex =0
private

Definition at line 160 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<int> > SiStripGainsPCLWorker::trackindex_token_
private

Definition at line 160 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<float>* SiStripGainsPCLWorker::trackp =0
private

Definition at line 152 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and processEvent().

edm::EDGetTokenT<std::vector<float> > SiStripGainsPCLWorker::trackp_token_
private

Definition at line 152 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

const std::vector<double>* SiStripGainsPCLWorker::trackphi =0
private

Definition at line 155 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<double> > SiStripGainsPCLWorker::trackphi_token_
private

Definition at line 155 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

std::string SiStripGainsPCLWorker::TrackPrefix_
private

Definition at line 179 of file SiStripGainsPCLWorker.h.

Referenced by SiStripGainsPCLWorker().

const std::vector<float>* SiStripGainsPCLWorker::trackpt =0
private

Definition at line 153 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<float> > SiStripGainsPCLWorker::trackpt_token_
private

Definition at line 153 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

std::string SiStripGainsPCLWorker::TrackSuffix_
private

Definition at line 180 of file SiStripGainsPCLWorker.h.

Referenced by SiStripGainsPCLWorker().

const std::vector<bool>* SiStripGainsPCLWorker::TrigTech =0
private

Definition at line 148 of file SiStripGainsPCLWorker.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<bool> > SiStripGainsPCLWorker::TrigTech_token_
private

Definition at line 148 of file SiStripGainsPCLWorker.h.

Referenced by analyze(), and SiStripGainsPCLWorker().

bool SiStripGainsPCLWorker::useCalibration
private

Definition at line 133 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

bool SiStripGainsPCLWorker::Validation
private

Definition at line 131 of file SiStripGainsPCLWorker.h.

Referenced by processEvent(), and SiStripGainsPCLWorker().

std::vector<std::string> SiStripGainsPCLWorker::VChargeHisto
private

Charge monitor plots to be output

Definition at line 138 of file SiStripGainsPCLWorker.h.

Referenced by bookHistograms(), and SiStripGainsPCLWorker().