Trigger LVL1/LVL2 Makers
CERN, december 2001 Gabriella Cataldi-INFN Lecce Trigger (Level 2) Makers: MooiPatTrackSegmentMaker MooiPatTrackMaker MooTrigClusters MooTrigRoads MooiPatTrackSegments ATLAS Tracks Access an ASCII file and iterate on RPC selected from LVL2 trigger in order to construct MooTrigClusters Starting from the same ASCII file information construct trigger roads from the LVL2 ROI) Itaration on MDT digits in order to form track segment along the roads Starting from the original Moore design: MooTrigLVL2ClusterMaker MooTrigLVL2RoadMaker The ASCII file contains also information about MDT (LVL2)
CERN, december 2001 Gabriella Cataldi-INFN Lecce MooObject-TDS String name: TDS ObjectVector container: Stored in container MooTrigClusters MooTrigClusterContainer MooTrigCluster MooTrigRoads MooTrigRoadContainer MooTrigRoad MooTrackSegments MooTrackSegmentContainer MooTrackSegment MooTracks MooTrackContainer MooTrack MooiPatTracks MooiPatTrackContainer MooiPatTrack
CERN, december 2001 Gabriella Cataldi-INFN Lecce ASCII file (Persint.out) A. Di Mattia (Roma I) has constructed a version of atrig (our geometry), producing an ASCII file as output: ===> SGVELO = (propagation velocity along the wire) …………….. ===> TDRMAX = (maximum drift time) C NEW EVT 1 C C RoI number 1 C TUB ……………..C TRI TRI ………………………….C END EVT C MDT RPC Region of Interest Event Numbering
CERN, december 2001 Gabriella Cataldi-INFN Lecce Starting from RPC Trigger Chambers TRI Jtype Trigger chamber e.g. BML, BMS.. Sector Number Ring Number Object Number (AMDB) RoI number RPC Layer fired RPC view Strip Number x,y,z of the strip
CERN, december 2001 Gabriella Cataldi-INFN Lecce Trigger (Level 2) Makers: MooiPatTrackSegmentMaker MooiPatTrackMaker MooTrigClusters MooTrigRoads MooiPatTrackSegments ATLAS Tracks Access an ASCII file and iterate on RPC selected from LVL2 trigger in order to construct MooTrigClusters Starting from the same ASCII file information construct trigger roads from the LVL2 ROI) Itaration on MDT digits in order to form track segment along the roads Starting from the original Moore design: MooTrigLVL2ClusterMaker MooTrigLVL2RoadMaker The ASCII file contains also information about MDT (LVL2)
CERN, december 2001 Gabriella Cataldi-INFN Lecce MooTrigClusterLVL2Maker public: MooTrigClusterLVL2Maker(); ~MooTrigClusterLVL2Maker(); vector * make(); static int debug(); void print(); private: MooTrigCluster* build_2d_clusters(vector ::const_iterator begin, vector ::const_iterator end); vector * m_clusters2d; // the final set of 2D clusters static ifstream* inFile; static bool already_read; static int evtri; string get_station_name(int); int get_station_phi(int,char); ……………………….. int get_xreadout(int,std::string); int get_xdoublet(int,std::string); int get_zdoublet(int,std::string); bool get_gold_strip(double,double,double,double); public: MooTrigClusterLVL2Maker(); ~MooTrigClusterLVL2Maker(); vector * make(); static int debug(); void print(); Manage the opening and reading of ASCII file Convert the ASCII file information in RPC_Detector, RPC_Digit informations Problem ? sincro. between ATHENA event and trigger event Associate the strip number RPC_Digit WHY?
CERN, december 2001 Gabriella Cataldi-INFN Lecce Comparing… Trig and Athena RPC side 2 layer 2 eta 0 phi 1 doublet set 0 RPC side 2 layer 2 eta 0 phi 1 doublet set 1 RPC side 2 layer 3 eta 0 phi 1 doublet set NEW EVT 1 ============= TRI RPC Phi Eta Side Doublet Layer BMS No Idea how to define the xreadout for single_gas! AMDB NOBJ!=1 No Idea how to define the zdoublet at all! RoI Number=1 RPC Gas Gap=0 Strip Projection=0 Strip Number=23 xdoub/xread/zdoub=0/0/1 xstrip/ystrip/zstrip=747.75/ /55.5 TRI RPC Phi Eta Side Doublet Layer BMS No Idea how to define the zdoublet at all! AMDB NOBJ!=1 RoI Number=1 RPC Gas Gap=0 Strip Projection=1 Strip Number=15 xdoub/xread/zdoub=0/0/1 xstrip/ystrip/zstrip= / / ================================================ RPC side 2 layer 2 eta 0 phi 1 doublet set 0 x/y/z/r/phi/d_set/zdoub/xdoub/xread/gasgap/layer/strip/kine =====================================================
CERN, december 2001 Gabriella Cataldi-INFN Lecce MooTrigRoadLVL2Maker private: std::vector * m_roads; public: MooTrigRoadLVL2Maker(); ~MooTrigRoadLVL2Maker(); std::vector * make(std::vector *); int unused_roads() const; void clean_roads(); static int debug(); void print(); Main PROBLEM !!!! Info are read all at the MooTrigClusterLVL2Maker
CERN, december 2001 Gabriella Cataldi-INFN Lecce MooLVL2Service private: MooLVL2Service(); static MooLVL2Service * myself; multimap * LVL2TrigMap; }; public: static MooLVL2Service * GetMooLVL2Service(); void Reset(); void Add(int,MooTrigCluster*); void print(); int get_nroi(); vector * get_trigclus(int); typedef multimap ::const_iterator const_iterator; typedef pair road; road road_range(int); ~MooLVL2Service(); Multimap Singleton