Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
zcl::MMCheater Class Reference
Inheritance diagram for zcl::MMCheater:
art::EDAnalyzer art::EventObserverBase art::Consumer art::EngineCreator

Public Types

using WorkerType = WorkerT< EDAnalyzer >
 
using ModuleType = EDAnalyzer
 

Public Member Functions

 MMCheater (fhicl::ParameterSet const &pset)
 
virtual ~MMCheater ()
 
void beginJob ()
 
double distance (float c1, float c2, float p1, float p2)
 
void analyze (const art::Event &evt)
 
std::string workerType () const
 
bool modifiesEvent () const
 
void registerProducts (MasterProductRegistry &, ProductDescriptions &, ModuleDescription const &)
 
std::string const & processName () const
 
bool wantAllEvents () const
 
bool wantEvent (Event const &e)
 
fhicl::ParameterSetID selectorConfig () const
 
art::Handle< art::TriggerResultsgetTriggerResults (Event const &e) const
 
template<typename T , BranchType = InEvent>
ProductToken< Tconsumes (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< Tconsumes (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TconsumesView (InputTag const &it)
 
template<typename T , BranchType = InEvent>
ProductToken< TmayConsume (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< TmayConsume (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TmayConsumeView (InputTag const &it)
 
base_engine_tcreateEngine (seed_t seed)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make, label_t const &engine_label)
 
seed_t get_seed_value (fhicl::ParameterSet const &pset, char const key[]="seed", seed_t const implicit_seed=-1)
 

Static Public Member Functions

static cet::exempt_ptr< Consumernon_module_context ()
 

Protected Member Functions

CurrentProcessingContext const * currentContext () const
 
detail::CachedProducts & cachedProducts ()
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Private Attributes

std::string fHitInput
 
TTree * Cheater_Tree
 
double beta
 
double cosx
 
double cosy
 
double cosz
 
double edep
 
double pl
 
double tof
 
int NXhits
 
int NYhits
 
int D_TDC_max
 
int D_Z_max
 
int ADC_min
 
double ADC_mean
 
int D_P_min
 
int D_C_min
 
double Lx
 
double D_lx_max
 
double vpro_x
 
double D_Tx_max_l
 
double D_Tx_max_s
 
double Ly
 
double D_ly_max
 
double vpro_y
 
double D_Ty_max_l
 
double D_Ty_max_s
 

Detailed Description

Definition at line 45 of file MMCheater_module.cc.

Member Typedef Documentation

Definition at line 39 of file EDAnalyzer.h.

Definition at line 38 of file EDAnalyzer.h.

Constructor & Destructor Documentation

zcl::MMCheater::MMCheater ( fhicl::ParameterSet const &  pset)
explicit

Definition at line 71 of file MMCheater_module.cc.

71  :
72  EDAnalyzer(p),
73  fHitInput (p.get< std::string > ("CellHitInput") )
74 {
75 }
const char * p
Definition: xmltok.h:285
EDAnalyzer(Table< Config > const &config)
Definition: EDAnalyzer.h:100
std::string fHitInput
enum BeamMode string
zcl::MMCheater::~MMCheater ( )
virtual

Definition at line 77 of file MMCheater_module.cc.

78 {
79  // Clean up dynamic memory and other resources here.
80 }

Member Function Documentation

void zcl::MMCheater::analyze ( const art::Event evt)

Definition at line 113 of file MMCheater_module.cc.

References abs(), rawdata::RawDigit::ADC(), ADC_mean, ADC_min, sim::ParticleNavigator::begin(), beta, getBrightness::cell, rb::CellHit::Cell(), Cheater_Tree, cosx, cosy, cosz, D_C_min, D_lx_max, D_ly_max, D_P_min, D_TDC_max, D_Tx_max_l, D_Tx_max_s, D_Ty_max_l, D_Ty_max_s, D_Z_max, distance(), edep, sim::ParticleNavigator::end(), stan::math::fabs(), fHitInput, geom(), art::DataViewImpl::getByLabel(), make_syst_table_plots::h, MECModelEnuComparisons::i, cheat::BackTracker::IsNoise(), geo::kX, Lx, Ly, simb::MCParticle::Mass(), std::min(), NXhits, NYhits, simb::MCParticle::P(), cheat::BackTracker::ParticleNavigator(), cheat::BackTracker::ParticleToFLSHit(), simb::MCParticle::PdgCode(), python.hepunit::pi, pl, rb::CellHit::Plane(), NDAPDHVSetting::plane, simb::MCParticle::Px(), simb::MCParticle::Py(), simb::MCParticle::Pz(), rb::SortByTime(), std::sqrt(), rawdata::RawDigit::TDC(), tof, simb::MCParticle::TrackId(), rb::CellHit::View(), vpro_x, and vpro_y.

114 {
117  //Get MC info first:
118  const sim::ParticleNavigator& pnav = bt->ParticleNavigator();
119  for (sim::ParticleNavigator::const_iterator i = pnav.begin(); i != pnav.end(); ++i) {
120  const sim::Particle *p = (*i).second;
121  if (p->PdgCode()!=42 ) continue;
122  const std::vector<sim::FLSHit>& flshits = bt->ParticleToFLSHit(p->TrackId());
123 
124  if (flshits.size()==0 ) continue;
125  cosx = (p->Px())/(p->P());
126  cosy = (p->Py())/(p->P());
127  cosz = (p->Pz())/(p->P());
128  double momentum2 = (p->P())*(p->P());
129  double mass2 = (p->Mass())*(p->Mass());
130  beta = sqrt(momentum2 / (momentum2+mass2) );
131 
132  double ti_MC = flshits[0].GetEntryT();
133  double tf_MC = flshits[0].GetExitT();
134 
135  edep = flshits[0].GetEdep();
136  pl = flshits[0].GetTotalPathLength();
137 
138  for (unsigned h =1; h!= flshits.size(); ++h) {
139  double ti = flshits[h].GetEntryT();
140  double tf = flshits[h].GetExitT();
141  if (ti < ti_MC)
142  ti_MC = ti;
143 
144  if (tf > tf_MC)
145  tf_MC = tf;
146 
147  pl += flshits[h].GetTotalPathLength();
148  edep += flshits[h].GetEdep();
149  }
150  tof = tf_MC-ti_MC;
151 
152  //1 monopole per event, so you can break out from the loop:
153  break;
154  }
155 
156  // std::cout<<"particle info collected: FLS finish!"<<std::endl;
157 
158  std::vector<art::Ptr<rb::CellHit> > TrueHitsList;
159  std::vector<art::Ptr<rb::CellHit> > Xhits;
160  std::vector<art::Ptr<rb::CellHit> > Yhits;
162  evt.getByLabel(fHitInput, hitcol);
163 
164  for (unsigned int i = 0; i != hitcol->size(); ++i) {
165  art::Ptr<rb::CellHit> hit_ptr(hitcol, i);
166  if (!bt->IsNoise(hit_ptr))
167  TrueHitsList.emplace_back(hit_ptr);
168  }
169 
170  if (TrueHitsList.size()<6) return;
171  rb::SortByTime(TrueHitsList);
172 
173  D_TDC_max = 0;
174  D_Z_max = 0;
175  ADC_mean = 0;
176  ADC_min = 4096;
177  D_P_min = 888;
178  D_C_min = 384;
179  int plane_tmp = TrueHitsList[0]->Plane();
180  int TDC_tmp = TrueHitsList[0]->TDC();
181 
182  int xti,xci,xpi,xtf,xcf,xpf;
183  int yti,yci,ypi,ytf,ycf,ypf;
184  xci = 384;
185  yci = 384;
186  xcf = -1;
187  ycf = -1;
188  xpi = 888;
189  xpf = -1;
190  ypi = 888;
191  ypf = -1;
192  xti = TDC_tmp;
193  yti = TDC_tmp;
194  xtf = TDC_tmp;
195  ytf = TDC_tmp;
196 
197  for (unsigned i =0; i!= TrueHitsList.size(); ++i) {
198  art::Ptr<rb::CellHit> hit_ptr = TrueHitsList[i];
199  int ADC = hit_ptr->ADC();
200  int plane = hit_ptr->Plane();
201  int cell = hit_ptr->Cell();
202  int TDC = hit_ptr->TDC();
203 
204  if (hit_ptr->View()==geo::kX) {
205  Xhits.emplace_back(hit_ptr);
206  if (cell<xci) {
207  xpi = plane;
208  xci = cell;
209  xti = TDC;
210  }
211  if (cell>xcf) {
212  xpf = plane;
213  xcf = cell;
214  xtf = TDC;
215  }
216  }
217  else {
218  Yhits.emplace_back(hit_ptr);
219  if (cell<yci) {
220  ypi = plane;
221  yci = cell;
222  yti = TDC;
223  }
224  if (cell>ycf) {
225  ypf = plane;
226  ycf = cell;
227  ytf = TDC;
228  }
229  }
230  int delta_tdc = abs(TDC - TDC_tmp);
231  TDC_tmp = TDC;
232  if (delta_tdc > D_TDC_max) D_TDC_max = delta_tdc;
233 
234  int delta_z = abs(plane - plane_tmp);
235  plane_tmp = plane;
236  if (delta_z > D_Z_max) D_Z_max = delta_z;
237 
238  ADC_mean += ADC;
239  if (ADC_min > ADC) ADC_min = ADC;
240 
241  int delta_p = std::min(887-plane, plane);
242  int delta_c = std::min(383-cell, cell);
243  if (D_P_min > delta_p) D_P_min = delta_p;
244  if (D_C_min > delta_c) D_C_min = delta_c;
245  }
246 
247  ADC_mean = ADC_mean/( TrueHitsList.size()+0.);
248 
249  NXhits = Xhits.size();
250  NYhits = Yhits.size();
251 
252  // std::cout<<"Cosmic Slice info collected!"<<std::endl;
253 
254  if (NXhits<3 || NYhits<3) return;
255 
256  //OK, now the slow MM rc and trigger tunes:
257  // rb::SortByPlaneAndCell(Xhits);
258  Lx = distance(xci, xcf, xpi, xpf);
259  // std::cout<<"xci: "<<xci<<" xcf: "<<xcf<<" xpi: "<<xpi<<" xpf: "<<xpf<<std::endl;
260  vpro_x = (xtf-xti+0.)/Lx;
261  D_lx_max = 0;
262  D_Tx_max_l = 0;
263  D_Tx_max_s = 0;
264  for (unsigned i = 1; i!= Xhits.size()-1; ++i) {
265  auto hit_ptr = Xhits[i];
266  int pi = hit_ptr->Plane();
267  int ci = hit_ptr->Cell();
268  int ti = hit_ptr->TDC();
269  double dl1 = distance(xci, ci, xpi, pi);
270  double dl2 = distance(xcf, ci, xpf, pi);
271  if (dl1+dl2-Lx > D_lx_max) D_lx_max=dl1+dl2-Lx;
272 
273  double dtl, dts;
274  if (dl1>dl2) {
275  dtl = fabs(ti-(xti+vpro_x*dl1));
276  dts = fabs(ti-(xtf-vpro_x*dl2));
277  }
278 
279  else {
280  dts = fabs(ti-(xti+vpro_x*dl1));
281  dtl = fabs(ti-(xtf-vpro_x*dl2));
282  }
283 
284  if (dts>D_Tx_max_s) D_Tx_max_s = dts;
285  if (dtl>D_Tx_max_l) D_Tx_max_l = dtl;
286  }
287  // std::cout<<"X SMM finished!"<<std::endl;
288  //Yview :
289  // rb::SortByPlaneAndCell(Yhits);
290  Ly = distance(yci, ycf, ypi, ypf);
291  vpro_y = (ytf-yti+0.)/Ly;
292  D_ly_max = 0;
293  D_Ty_max_l = 0;
294  D_Ty_max_s = 0;
295  for (unsigned i = 1; i!= Yhits.size()-1; ++i) {
296  auto hit_ptr = Yhits[i];
297  int pi = hit_ptr->Plane();
298  int ci = hit_ptr->Cell();
299  int ti = hit_ptr->TDC();
300  double dl1 = distance(yci, ci, ypi, pi);
301  double dl2 = distance(ycf, ci, ypf, pi);
302  if (dl1+dl2-Ly > D_ly_max) D_ly_max=dl1+dl2-Ly;
303 
304  double dtl, dts;
305  if (dl1>dl2) {
306  dtl = fabs(ti-(yti+vpro_y*dl1));
307  dts = fabs(ti-(ytf-vpro_y*dl2));
308  }
309 
310  else {
311  dts = fabs(ti-(yti+vpro_y*dl1));
312  dtl = fabs(ti-(ytf-vpro_y*dl2));
313  }
314 
315  if (dts>D_Ty_max_s) D_Ty_max_s = dts;
316  if (dtl>D_Ty_max_l) D_Ty_max_l = dtl;
317  }
318 
319  // std::cout<<"Delta TDC: "<<D_TDC_max<<std::endl;
320  Cheater_Tree->Fill();
321  return;
322 } //end production function
int PdgCode() const
Definition: MCParticle.h:211
double Py(const int i=0) const
Definition: MCParticle.h:230
int32_t TDC() const
The time of the last baseline sample.
Definition: RawDigit.h:94
fvar< T > fabs(const fvar< T > &x)
Definition: fabs.hpp:15
const sim::ParticleNavigator & ParticleNavigator() const
Get a reference to the ParticleNavigator.
Definition: BackTracker.h:744
unsigned short Plane() const
Definition: CellHit.h:39
geo::View_t View() const
Definition: CellHit.h:41
const char * p
Definition: xmltok.h:285
T sqrt(T number)
Definition: d0nt_math.hpp:156
std::vector< sim::FLSHit > ParticleToFLSHit(const int &trackID) const
All the FLSHits that were created by the track id trackID, sorted from most to least light...
double Mass() const
Definition: MCParticle.h:238
list_type::const_iterator const_iterator
Vertical planes which measure X.
Definition: PlaneGeo.h:28
double Px(const int i=0) const
Definition: MCParticle.h:229
void abs(TH1 *hist)
void SortByTime(std::vector< art::Ptr< rb::CellHit > > &c)
Sort c in time order (earliest to latest).
Definition: CellHit.cxx:134
Timing fit.
bool IsNoise(const art::Ptr< rb::CellHit > &hit) const
Is this hit not associated with any particles?
int TrackId() const
Definition: MCParticle.h:209
double distance(float c1, float c2, float p1, float p2)
unsigned short Cell() const
Definition: CellHit.h:40
double P(const int i=0) const
Definition: MCParticle.h:233
int16_t ADC(uint32_t i) const
Definition: RawDigit.cxx:58
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
Definition: DataViewImpl.h:344
void geom(int which=0)
Definition: geom.C:163
double Pz(const int i=0) const
Definition: MCParticle.h:231
std::string fHitInput
T min(const caf::Proxy< T > &a, T b)
void zcl::MMCheater::beginJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 82 of file MMCheater_module.cc.

References ADC_mean, ADC_min, beta, Cheater_Tree, cosx, cosy, cosz, D_C_min, D_lx_max, D_ly_max, D_P_min, D_TDC_max, D_Tx_max_l, D_Tx_max_s, D_Ty_max_l, D_Ty_max_s, D_Z_max, edep, Lx, Ly, art::TFileDirectory::make(), NXhits, NYhits, pl, tof, vpro_x, and vpro_y.

83 {
85  Cheater_Tree = tfs->make<TTree>("Cheater_Tree","Information from MC Cheater on event basis");
86  Cheater_Tree -> Branch("beta", &beta, "beta/D");
87  Cheater_Tree -> Branch("cosx", &cosx, "cosx/D");
88  Cheater_Tree -> Branch("cosy", &cosy, "cosy/D");
89  Cheater_Tree -> Branch("cosz", &cosz, "cosz/D");
90  Cheater_Tree -> Branch("edep", &edep, "edep/D");
91  Cheater_Tree -> Branch("PathLength", &pl, "PathLength/D");
92  Cheater_Tree -> Branch("tof", &tof, "tof/D");
93  Cheater_Tree -> Branch("nxhits", &NXhits, "nxhits/I");
94  Cheater_Tree -> Branch("nyhits", &NYhits, "nyhits/I");
95  Cheater_Tree -> Branch("D_TDC_max", &D_TDC_max, "D_TDC_max/I");
96  Cheater_Tree -> Branch("D_Z_max", &D_Z_max, "D_Z_max/I");
97  Cheater_Tree -> Branch("ADC_min", &ADC_min, "ADC_min/I");
98  Cheater_Tree -> Branch("ADC_mean", &ADC_mean, "ADC_mean/D");
99  Cheater_Tree -> Branch("D_P_min", &D_P_min, "D_P_min/I");
100  Cheater_Tree -> Branch("D_C_min", &D_C_min, "D_C_min/I");
101  Cheater_Tree -> Branch("Lx", &Lx, "Lx/D"); //In DDT unit
102  Cheater_Tree -> Branch("D_lx_max", &D_lx_max, "D_lx_max/D");
103  Cheater_Tree -> Branch("vpro_x", &vpro_x, "vpro_x/D");
104  Cheater_Tree -> Branch("D_Tx_max_l", &D_Tx_max_l, "D_Tx_max_l/D");
105  Cheater_Tree -> Branch("D_Tx_max_s", &D_Tx_max_s, "D_Tx_max_s/D");
106  Cheater_Tree -> Branch("Ly", &Ly, "Ly/D");
107  Cheater_Tree -> Branch("D_ly_max", &D_ly_max, "D_ly_max/D");
108  Cheater_Tree -> Branch("vpro_y", &vpro_y, "vpro_y/D");
109  Cheater_Tree -> Branch("D_Ty_max_l", &D_Ty_max_l, "D_Ty_max_l/D");
110  Cheater_Tree -> Branch("D_Ty_max_s", &D_Ty_max_s, "D_Ty_max_s/D");
111 }
T * make(ARGS...args) const
detail::CachedProducts& art::EventObserverBase::cachedProducts ( )
inlineprotectedinherited

Definition at line 79 of file EventObserverBase.h.

References art::EventObserverBase::selectors_.

80  {
81  return selectors_;
82  }
detail::CachedProducts selectors_
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::consumes ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::consumes ( InputTag const &  it)
inherited

Definition at line 146 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

147 {
148  if (!moduleContext_)
149  return ProductToken<T>::invalid();
150 
151  consumables_[BT].emplace_back(ConsumableType::Product,
152  TypeID{typeid(T)},
153  it.label(),
154  it.instance(),
155  it.process());
156  return ProductToken<T>{it};
157 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::consumesMany ( )
inherited

Definition at line 161 of file Consumer.h.

References T.

162 {
163  if (!moduleContext_)
164  return;
165 
166  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
167 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::consumesView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::consumesView ( InputTag const &  it)
inherited

Definition at line 171 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

172 {
173  if (!moduleContext_)
174  return ViewToken<T>::invalid();
175 
176  consumables_[BT].emplace_back(ConsumableType::ViewElement,
177  TypeID{typeid(T)},
178  it.label(),
179  it.instance(),
180  it.process());
181  return ViewToken<T>{it};
182 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make 
)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make,
label_t const &  engine_label 
)
inherited
CurrentProcessingContext const* art::EDAnalyzer::currentContext ( ) const
protectedinherited
double zcl::MMCheater::distance ( float  c1,
float  c2,
float  p1,
float  p2 
)

Definition at line 324 of file MMCheater_module.cc.

References DEFINE_ART_MODULE(), and std::sqrt().

Referenced by analyze().

326 {
327  return sqrt((p1-p2)*(p1-p2)*2.82072+(c1-c2)*(c1-c2));
328 }
T sqrt(T number)
Definition: d0nt_math.hpp:156
c2
Definition: demo5.py:33
c1
Definition: demo5.py:24
seed_t art::EngineCreator::get_seed_value ( fhicl::ParameterSet const &  pset,
char const  key[] = "seed",
seed_t const  implicit_seed = -1 
)
inherited
art::Handle<art::TriggerResults> art::EventObserverBase::getTriggerResults ( Event const &  e) const
inlineinherited

Definition at line 61 of file EventObserverBase.h.

References art::detail::CachedProducts::getOneTriggerResults(), and art::EventObserverBase::selectors_.

62  {
64  }
detail::CachedProducts selectors_
art::Handle< art::TriggerResults > getOneTriggerResults(Event const &) const
Float_t e
Definition: plot.C:35
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::mayConsume ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::mayConsume ( InputTag const &  it)
inherited

Definition at line 189 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

190 {
191  if (!moduleContext_)
192  return ProductToken<T>::invalid();
193 
194  consumables_[BT].emplace_back(ConsumableType::Product,
195  TypeID{typeid(T)},
196  it.label(),
197  it.instance(),
198  it.process());
199  return ProductToken<T>{it};
200 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::mayConsumeMany ( )
inherited

Definition at line 204 of file Consumer.h.

References T.

205 {
206  if (!moduleContext_)
207  return;
208 
209  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
210 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::mayConsumeView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::mayConsumeView ( InputTag const &  it)
inherited

Definition at line 214 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

215 {
216  if (!moduleContext_)
217  return ViewToken<T>::invalid();
218 
219  consumables_[BT].emplace_back(ConsumableType::ViewElement,
220  TypeID{typeid(T)},
221  it.label(),
222  it.instance(),
223  it.process());
224  return ViewToken<T>{it};
225 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
bool art::EventObserverBase::modifiesEvent ( ) const
inlineinherited

Definition at line 25 of file EventObserverBase.h.

26  {
27  return false;
28  }
static cet::exempt_ptr<Consumer> art::Consumer::non_module_context ( )
staticinherited
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited
std::string const& art::EventObserverBase::processName ( ) const
inlineinherited
void art::EventObserverBase::registerProducts ( MasterProductRegistry ,
ProductDescriptions ,
ModuleDescription const &   
)
inlineinherited

Definition at line 33 of file EventObserverBase.h.

References string.

36  {}
fhicl::ParameterSetID art::EventObserverBase::selectorConfig ( ) const
inlineinherited

Definition at line 56 of file EventObserverBase.h.

References art::EventObserverBase::selector_config_id_.

57  {
58  return selector_config_id_;
59  }
fhicl::ParameterSetID selector_config_id_
void art::Consumer::showMissingConsumes ( ) const
protectedinherited

Referenced by art::RootOutput::endJob().

void art::Consumer::validateConsumedProduct ( BranchType const  bt,
ProductInfo const &  pi 
)
protectedinherited
bool art::EventObserverBase::wantAllEvents ( ) const
inlineinherited

Definition at line 46 of file EventObserverBase.h.

References art::EventObserverBase::wantAllEvents_.

Referenced by art::RootOutput::RootOutput().

47  {
48  return wantAllEvents_;
49  }
bool art::EventObserverBase::wantEvent ( Event const &  e)
inlineinherited

Definition at line 51 of file EventObserverBase.h.

References art::EventObserverBase::selectors_, and art::detail::CachedProducts::wantEvent().

52  {
53  return selectors_.wantEvent(e);
54  }
detail::CachedProducts selectors_
Float_t e
Definition: plot.C:35
bool wantEvent(Event const &)
std::string art::EDAnalyzer::workerType ( ) const
inlineinherited

Definition at line 109 of file EDAnalyzer.h.

References art::EDAnalyzer::currentContext().

110  {
111  return "WorkerT<EDAnalyzer>";
112  }

Member Data Documentation

double zcl::MMCheater::ADC_mean
private

Definition at line 63 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

int zcl::MMCheater::ADC_min
private

Definition at line 62 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::beta
private

Definition at line 58 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

TTree* zcl::MMCheater::Cheater_Tree
private

Definition at line 57 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::cosx
private

Definition at line 58 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::cosy
private

Definition at line 58 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::cosz
private

Definition at line 58 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

int zcl::MMCheater::D_C_min
private

Definition at line 64 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::D_lx_max
private

Definition at line 65 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::D_ly_max
private

Definition at line 66 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

int zcl::MMCheater::D_P_min
private

Definition at line 64 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

int zcl::MMCheater::D_TDC_max
private

Definition at line 61 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::D_Tx_max_l
private

Definition at line 65 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::D_Tx_max_s
private

Definition at line 65 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::D_Ty_max_l
private

Definition at line 66 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::D_Ty_max_s
private

Definition at line 66 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

int zcl::MMCheater::D_Z_max
private

Definition at line 61 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::edep
private

Definition at line 59 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

std::string zcl::MMCheater::fHitInput
private

Definition at line 55 of file MMCheater_module.cc.

Referenced by analyze().

double zcl::MMCheater::Lx
private

Definition at line 65 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::Ly
private

Definition at line 66 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

int zcl::MMCheater::NXhits
private

Definition at line 60 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

int zcl::MMCheater::NYhits
private

Definition at line 60 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::pl
private

Definition at line 59 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::tof
private

Definition at line 59 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::vpro_x
private

Definition at line 65 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().

double zcl::MMCheater::vpro_y
private

Definition at line 66 of file MMCheater_module.cc.

Referenced by analyze(), and beginJob().


The documentation for this class was generated from the following file: