4 #include "marlin/Processor.h"
6 #include "EVENT/LCCollection.h"
7 #include "IMPL/LCCollectionVec.h"
13 #include <marlin/Global.h>
14 #include <gear/GEAR.h>
36 // =================================================================
37 class anaPix : public marlin::Processor {
40 anaPix(const anaPix&) = delete;
41 anaPix& operator=(const anaPix&) = delete;
43 virtual Processor* newProcessor() { return new anaPix ; }
55 virtual void processRunHeader( LCRunHeader* run ) ;
59 virtual void processEvent( LCEvent * evt ) ;
61 virtual void check( LCEvent * evt ) ;
67 // make TrackerHits from VTXPixelHits
68 void fillTTree(FPCCDData &pxHits);
70 // Initialize Geometry data
75 std::string _colNameVTX{};
80 FloatVec _pixelSizeVec{};
82 float _pointResoRPhi{};
84 std::string _rootFileName{};
88 TTree* hTreeLocalPix{};
90 int _nLayer{}; // Number of layers
91 int _maxLadder{}; // max number of ladders
94 double rmin{}; // distance of inner surface of sensitive region from IP
95 double dphi{}; // azimuthal angle step of each ladder
96 double phi0{}; // aximuthal angle offset
97 std::vector<double> cosphi{}; // cos[phi_ladder], cos_phi of each ladder
98 std::vector<double> sinphi{}; // sin[phi_ladder], sin_phi of each ladder
99 double sthick{}; // sensitive region thickness
100 double sximin{}; // minimum xi of sensitive region.
101 double sximax{}; // maximum xi of sensitive region
102 double hlength{}; // ladder's half length in z
104 std::vector<GeoData_t> _geodata{};