76 hname =
"xtal in beam position";
78 hname =
"Max Amplitude vs TDC offset";
80 hname =
"Beam Profile X";
82 hname =
"Beam Profile Y";
84 hname =
"E1x1 energy";
86 hname =
"E3x3 energy";
88 hname =
"E5x5 energy";
90 hname =
"E1x1 energy center";
92 hname =
"E3x3 energy center";
94 hname =
"E5x5 energy center";
96 hname =
"E1 over E9 ratio";
98 hname =
"E1 over E25 ratio";
100 hname =
"E9 over E25 ratio";
106 hname =
"E1 over E9 vs X";
108 hname =
"E1 over E9 vs Y";
110 hname =
"E1 over E25 vs X";
112 hname =
"E1 over E25 vs Y";
114 hname =
"E9 over E25 vs X";
116 hname =
"E9 over E25 vs Y";
118 hname =
"Xtal in Beam Shape";
132 if(pdigis.isValid()){
180 if(pEventHeader.isValid()){
181 evtHeader = pEventHeader.
product();
192 if (xtalInBeamId==
EBDetId(0)){
return; }
193 int xibEta = xtalInBeamId.
ieta();
194 int xibPhi = xtalInBeamId.
iphi();
197 if (
data_ && (evtHeader->tableIsMoving()))
return;
201 for (
unsigned int icry=0;icry<25;icry++){
202 unsigned int row = icry/5;
203 unsigned int column = icry%5;
204 int ieta = xtalInBeamId.
ieta()+column-2;
205 int iphi = xtalInBeamId.
iphi()+row-2;
209 Xtals5x5[icry] = tempId;
221 for (
unsigned int icry=0;icry<25;icry++) {
222 if (!Xtals5x5[icry].null()){
223 double theAmpl = (theHits->find(Xtals5x5[icry]))->amplitude();
225 if (icry==12){ampl1x1 = theAmpl;}
226 if (icry==6 || icry==7 || icry==8 || icry==11 || icry==12 || icry==13 || icry==16 || icry==17 || icry==18){ampl3x3 += theAmpl;}
231 double sampleSave[10];
232 for(
int ii=0;
ii < 10; ++
ii){ sampleSave[
ii] = 0.0; }
236 if (thisDigi != theDigis->end()){
240 sampleSave[
sample] = analogSample;
241 if ( eMax < analogSample ) {
249 double xBeam = theHodo->posX();
250 double yBeam = theHodo->posY();
274 if ( (fabs(xBeam)<2.5) && (fabs(yBeam)<2.5) ){
MonitorElement * meETBShape_
T getParameter(std::string const &) const
MonitorElement * meETBampltdc_
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meETBe5x5_
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
MonitorElement * meETBe1e25_
MonitorElement * meETBe3x3_
edm::EDGetTokenT< EcalTBTDCRecInfo > tdcRec_Token_
edm::EDGetTokenT< EBDigiCollection > digi_Token_
MonitorElement * meETBe9e25vsX_
edm::EDGetTokenT< EcalTBHodoscopeRecInfo > hodoRec_Token_
void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
EcalMGPASample sample(int i) const
MonitorElement * meETBe1e25vsX_
std::string eventHeaderProducer_
int ism() const
get the ECAL/SM id
static bool validDetId(int i, int j)
check if a valid index combination
MonitorElement * meETBxib_
int iphi() const
get the crystal iphi
EcalTBValidation(const edm::ParameterSet &)
edm::EDGetTokenT< EBUncalibratedRecHitCollection > hit_Token_
MonitorElement * meETBe9e25_
MonitorElement * meETBe9e25vsY_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
std::string eventHeaderCollection_
MonitorElement * meETBe1vsX_
MonitorElement * book1D(Args &&...args)
std::string hodoRecInfoProducer_
std::string digiProducer_
int ieta() const
get the crystal ieta
MonitorElement * meETBe5x5_center_
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
static const int ETAPHIMODE
std::string hitCollection_
void setCurrentFolder(const std::string &fullpath)
T const * product() const
MonitorElement * book2D(Args &&...args)
MonitorElement * meETBe1e9vsX_
MonitorElement * meETBe1e25vsY_
MonitorElement * meETBe1x1_
std::string tdcRecInfoCollection_
std::string tdcRecInfoProducer_
edm::EDGetTokenT< EcalTBEventHeader > eventHeader_Token_
MonitorElement * meETBe1e9_
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * meETBe3x3_center_
static const int SMCRYSTALMODE
MonitorElement * meETBe1e9vsY_
std::string digiCollection_
MonitorElement * meETBhodoY_
MonitorElement * meETBe1vsY_
std::string hodoRecInfoCollection_
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
MonitorElement * meETBe1x1_center_
MonitorElement * meETBhodoX_
int adc() const
get the ADC sample (12 bits)