110 likes | 191 Views
Realistic PFA in Satellites. T.Yoshioka(Tokyo Univ.) M.C.Chang(Tohoku Univ.) T.Fujikawa(Tohoku Univ.). Overview. How to make a “small cluster”? What kind of functions are prepared for “clustering”? How to do “realistic clustering(PFA)”? Summary. How to make small clusters?.
E N D
Realistic PFA in Satellites T.Yoshioka(Tokyo Univ.) M.C.Chang(Tohoku Univ.) T.Fujikawa(Tohoku Univ.)
Overview • How to make a “small cluster”? • What kind of functions are prepared for “clustering”? • How to do “realistic clustering(PFA)”? • Summary
How to make small clusters? Basically, you can make small clusters by copy the directory “smallclustermaker” and add “smallclustermaker” into $SATELLITESROOT/macros/S4macros.C S4CALSmallCluster: the basic unit of “small cluster” which has energy, position, thrust, etc. S4CALSmallClusterMakerBuf: the function “MakeSmallClusters” connect the 3-dimensional fired neighbor cells.
1. We (temporary) modified S4CALHit & S4CALHitMaker but it sometimes “Break”. someone need to fix it … 2. It has “extra” data member etc. (not arranged yet) 3. Thrust calculation takes a lot of CPU time. use “Anlib” or implement good algorithm 4. There is a possibility to make “big” small cluster (just connected neighbor cells) it depends on the cell size and the clustering method 5. Optimization of the cut value etc. Problems in the “smallclustermaker”
S4CALGammaFinder Make object and call functions S4CALTrackMatcher Utility functions for clustering clustermaker is not implemented yet. But some functions are already prepared. 1. Gamma Fitter and Gamma Finder 2. Track Matcher Thrust based, Tube based, Minimum layer based 3. IL (interaction layer) Finder (contained in the TrackMatcher) How to use? (temporary way)
What do these functions do? the arguments: map of the S4CALSmallCluster*/S4VTXTrack* the thing functions do: attach small clusters to gamma, track etc. small cluster has a multimap which describe if its small cluster seems to be gamma, made by (some) charged track, and it has some data members (fILPosition etc.). Above functions change them.
For example… S4CALRealClusterMakerBuf::MakeRealClusters() // make small cluster map & track map std::map<Int_t,S4CALSmallCluster*> sclmap = MakeSmallClusterMap(); std::map<Int_t,S4VTXTrack*> trkmap = MakeTrackMap(); // attach small clusters to gamma/e S4CALGammaFinder *gamfinder = new S4CALGammaFinder(); gamfinder->GammaFitter(sclmap); delete gamfinder; // You can use multimap of small clusters… std::multimap<Char_t*,std::vector<Double_t> > map = sclmap[0]->second->GetPFOMap(); typedef std::multimap<Cha_t,std::vector<Double_t> >::iterator MI; std::pair<MI,MI> itr_range = map.equal_range(“GammaFinder”);
Problem (Bug) 1. Gamma Fitter takes a lot of CPU time 2. Gamma Finder needs to use “large” region (difficult to separate the tracks) 3. Track Matcher has some bugs. (not fixed yet) 4. Class construction etc. are not “beautiful”…
How to do “realistic clustering”? So far, we have some information (small cluster is gamma-like, track-matched etc.) We need to implement S4CALRealClusterMaker::MakeClusters() the flow of clustering is… 1. Attach small clusters to gamma/e etc. 2. Make cluster using “certainly” matched small clusters and subtract it. 3. Do dT, dX based, Cone based, Tube based etc. clustering. 3. Make cut value etc. widely little by little. 4. The remaining (small) clusters are pretended as “neutral hadron”
How to do “realistic PFA”? • dT, dX based • Cone based • Tube based • clustering code itself are already written. (but not in realclustermaker, we use it in our MyAnalysis file.) We have to appropriate it to “matched” small clusters. • After that, we have to make “Jets”. (Simple Jet Maker is already made. But should we have to make a better one or make pfomaker(?) to use Anlib’s JetMaker. )
To do 1. Debug & arrange the classes/functions 2. Make some other “useful” functions 3. Do a realistic clustering 4. Make (Use Anlib’s) JetMaker 5. Optimize the parameters for PFA (cut value, calibration factor etc.) 6. Any other new/well known functions for realistic clustering?