Skip to content

Commit

Permalink
Updated EcalMipTrackingProcessor - added vetos.py and loop over colle…
Browse files Browse the repository at this point in the history
…ction
  • Loading branch information
JYoo001 committed Mar 10, 2025
1 parent e96516c commit 444df05
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 18 deletions.
4 changes: 2 additions & 2 deletions .github/validation_samples/ecal_pn/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
import os
import sys

p.maxEvents = 100
p.run = 1
p.maxEvents = int(os.environ['LDMX_NUM_EVENTS'])
p.run = int(os.environ['LDMX_RUN_NUMBER'])

p.histogramFile = f'test_hist.root'
p.outputFiles = [f'test_events.root']
Expand Down
4 changes: 4 additions & 0 deletions Ecal/include/Ecal/EcalMipTrackingProcessor.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,14 @@ class EcalMipTrackingProcessor : public framework::Producer {
int photonTerritoryHits_{0};


std::string mip_collection_name_{"EcalMipCollection"};

/// handle to current geometry (to share with member functions)
const ldmx::EcalGeometry* geometry_;
};



} // namespace ecal

#endif
16 changes: 8 additions & 8 deletions Ecal/include/Ecal/Event/EcalMipCollection.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,17 @@
// ROOT //
//----------//
#include "TObject.h"
// #include "TVector3.h"
#include "TVector3.h"

namespace ldmx {


typedef std::pair<float, float> XYCoords;

// struct HitData {
// int layer;
// TVector3 pos;
// };
struct HitData {
int layer;
TVector3 pos;
};

class EcalMipCollection {
public:
Expand All @@ -48,14 +48,14 @@ class EcalMipCollection {
const std::vector<XYCoords>& getPhotonTrajectory() const { return photon_trajectory_; }
void setPhotonTrajectory(const std::vector<XYCoords>& photon_trajectory) { photon_trajectory_ = photon_trajectory; }

// const std::vector<HitData>& getTrackingHitList() const { return tracking_hit_list_; }
// void setTrackingHitList(const std::vector<HitData>& hits) { tracking_hit_list_ = hits; }
const std::vector<HitData>& getTrackingHitList() const { return tracking_hit_list_; }
void setTrackingHitList(const std::vector<HitData>& hits) { tracking_hit_list_ = hits; }

private:

std::vector<XYCoords> ele_trajectory_;
std::vector<XYCoords> photon_trajectory_;
// std::vector<HitData> tracking_hit_list_;
std::vector<HitData> tracking_hit_list_;

ClassDef(EcalMipCollection, 1);
}; // EcalMipCollection
Expand Down
12 changes: 12 additions & 0 deletions Ecal/python/vetos.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,18 @@ def __init__(self,name = 'ecalVeto') :
self.track_collection = 'RecoilTracks'
self.inverse_skim = False

class EcalMipProcessor(ldmxcfg.Producer) :
"""Configuration for the ECal MIP processor"""

def __init__(self,name = 'ecalMip') :
super().__init__(name,"ecal::EcalMipProcessor",'Ecal')

self.verbose = False
self.num_ecal_layers = 34
self.linreg_radius = 35.0 # in mm
self.mip_collection_name = "EcalMipCollection"



class DNNEcalVetoProcessor(ldmxcfg.Producer) :
"""Configuration for DNN Ecal Veto
Expand Down
21 changes: 17 additions & 4 deletions Ecal/src/Ecal/EcalMipTrackingProcessor.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ void EcalMipTrackingProcessor::configure(framework::config::Parameters &paramete
verbose_ = parameters.getParameter<bool>("verbose");
nEcalLayers_ = parameters.getParameter<int>("num_ecal_layers");
linreg_radius_ = parameters.getParameter<double>("linreg_radius");
mip_collection_name_ = parameters.getParameter<std::string>("mip_collection_name");
}

void EcalMipTrackingProcessor::clearProcessor() {
Expand All @@ -59,12 +60,24 @@ void EcalMipTrackingProcessor::produce(framework::Event &event) {
auto start = std::chrono::high_resolution_clock::now();

clearProcessor();
nevents_++;


// Read in hits near photon from EcalVetoProcessor
ldmx::EcalMipCollection MipVariables = event.getCollection<ldmx::EcalMipCollection>("EcalMipCollection");
std::vector<XYCoords> ele_trajectory = MipVariables.getEleTrajectory();
std::vector<XYCoords> photon_trajectory = MipVariables.getPhotonTrajectory();
auto result = event.getCollection<ldmx::EcalVetoResult>("EcalVetoResult");
// auto disc_val = result.getDiscValue();

auto ecal_mip_collection = event.getCollection<ldmx::EcalMipCollection>(mip_collection_name_);
std::vector<XYCoords> ele_trajectory;
std::vector<XYCoords> photon_trajectory;
std::vector<HitData> trackingHitList;
if (nevents_ <= ecal_mip_collection.size()) {
ele_trajectory = ecal_mip_collection[nevents_].getEleTrajectory();
photon_trajectory = ecal_mip_collection[nevents_].getPhotonTrajectory();
trackingHitList = ecal_mip_collection[nevents_].getTrackingHitList();
};
nevents_++;
// std::vector<XYCoords> ele_trajectory = ecal_mip_collection.getEleTrajectory();
// std::vector<XYCoords> photon_trajectory = ecal_mip_collection.getPhotonTrajectory();
// std::vector<HitData> trackingHitList = MipVariables.getTrackingHitList();
// Now inputting Lines 753-1178 of the original EcalVetoProcessor
// ------------------------------------------------------
Expand Down
8 changes: 4 additions & 4 deletions Ecal/src/Ecal/EcalVetoProcessor.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -750,11 +750,11 @@ void EcalVetoProcessor::produce(framework::Event &event) {
}

// Took out MIP tracking here
ldmx::EcalMipCollection MipCollection;
MipCollection.setEleTrajectory(ele_trajectory);
MipCollection.setPhotonTrajectory(photon_trajectory);
ldmx::EcalMipCollection ecal_mip_collection;
ecal_mip_collection.setEleTrajectory(ele_trajectory);
ecal_mip_collection.setPhotonTrajectory(photon_trajectory);
// MipCollection.setTrackingHitList(trackingHitList);
event.add("EcalMipCollection", MipCollection);
event.add("EcalMipCollection", ecal_mip_collection);

auto mip_tracking_setup = std::chrono::high_resolution_clock::now();
profiling_map_["mip_tracking_setup"] +=
Expand Down

0 comments on commit 444df05

Please sign in to comment.