16 #include "art_root_io/TFileService.h" 95 std::vector<const sim::AuxDetSimChannel*> fAuxDetSimChannels;
98 nauxdets = fAuxDetSimChannels.size();
100 for (
size_t i = 0; i<fAuxDetSimChannels.size(); ++i){
104 const std::vector<sim::AuxDetIDE>& setOfIDEs = c->
AuxDetIDEs();
107 for (
size_t j = 0; j<setOfIDEs.size(); ++j){
108 entryx[i][j] = setOfIDEs[j].entryX;
109 entryy[i][j] = setOfIDEs[j].entryY;
110 entryz[i][j] = setOfIDEs[j].entryZ;
111 entryt[i][j] = setOfIDEs[j].entryT;
112 exitx[i][j] = setOfIDEs[j].exitX;
113 exity[i][j] = setOfIDEs[j].exitY;
114 exitz[i][j] = setOfIDEs[j].exitZ;
115 exitt[i][j] = setOfIDEs[j].exitT;
116 exitpx[i][j] = setOfIDEs[j].exitMomentumX;
117 exitpy[i][j] = setOfIDEs[j].exitMomentumY;
118 exitpz[i][j] = setOfIDEs[j].exitMomentumZ;
119 energy[i][j] = setOfIDEs[j].energyDeposited;
120 trackid[i][j] = setOfIDEs[j].trackID;
129 fTree = tfs->make<TTree>(
"anatree",
"analysis tree");
136 fTree->Branch(
"entryx",
entryx,
"entryx[nauxdets][100]/F");
137 fTree->Branch(
"entryy",
entryy,
"entryy[nauxdets][100]/F");
138 fTree->Branch(
"entryz",
entryz,
"entryz[nauxdets][100]/F");
139 fTree->Branch(
"entryt",
entryt,
"entryt[nauxdets][100]/F");
140 fTree->Branch(
"exitx",
exitx,
"exitx[nauxdets][100]/F");
141 fTree->Branch(
"exity",
exity,
"exity[nauxdets][100]/F");
142 fTree->Branch(
"exitz",
exitz,
"exitz[nauxdets][100]/F");
143 fTree->Branch(
"exitt",
exitt,
"exitt[nauxdets][100]/F");
144 fTree->Branch(
"trackid",
trackid,
"trackid[nauxdets][100]/I");
145 fTree->Branch(
"energy",
energy,
"energy[nauxdets][100]/F");
167 exitx[i][j] = -99999;
168 exity[i][j] = -99999;
169 exitz[i][j] = -99999;
170 exitt[i][j] = -99999;
constexpr unsigned short kMaxTkIDs
float exitt[kMaxAuxDets][kMaxTkIDs]
float entryt[kMaxAuxDets][kMaxTkIDs]
float entryx[kMaxAuxDets][kMaxTkIDs]
std::string fLArG4ModuleLabel
float entryz[kMaxAuxDets][kMaxTkIDs]
EDAnalyzer(fhicl::ParameterSet const &pset)
void analyze(art::Event const &e) override
float exity[kMaxAuxDets][kMaxTkIDs]
float entryy[kMaxAuxDets][kMaxTkIDs]
float exitpy[kMaxAuxDets][kMaxTkIDs]
Collection of particles crossing one auxiliary detector cell.
uint32_t AuxDetID() const
#define DEFINE_ART_MODULE(klass)
int auxdetid[kMaxAuxDets]
std::vector< sim::AuxDetIDE > const & AuxDetIDEs() const
SubRunNumber_t subRun() const
float exitpz[kMaxAuxDets][kMaxTkIDs]
CheckAuxDet & operator=(CheckAuxDet const &)=delete
float exitpx[kMaxAuxDets][kMaxTkIDs]
CheckAuxDet(fhicl::ParameterSet const &p)
void reconfigure(fhicl::ParameterSet const &p)
int trackid[kMaxAuxDets][kMaxTkIDs]
EventNumber_t event() const
float energy[kMaxAuxDets][kMaxTkIDs]
std::size_t getView(std::string const &moduleLabel, std::string const &productInstanceName, std::string const &processName, std::vector< ELEMENT const * > &result) const
auto const & get(AssnsNode< L, R, D > const &r)
float exitx[kMaxAuxDets][kMaxTkIDs]
float exitz[kMaxAuxDets][kMaxTkIDs]
constexpr unsigned short kMaxAuxDets
Event finding and building.