5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/NTuple.h"
7#include "GaudiKernel/INTuple.h"
8#include "GaudiKernel/INTupleSvc.h"
9#include "GaudiKernel/ITHistSvc.h"
11#include "RawDataProviderSvc/IRawDataProviderSvc.h"
12#include "MdcGeomSvc/IMdcGeomSvc.h"
13#include "Trigger/MdcTSF.h"
14#include "Trigger/TofHitCount.h"
15#include "Trigger/EmcTCFinder.h"
16#include "Trigger/MucTrigHit.h"
18#include "RealizationSvc/RealizationSvc.h"
19#include "RealizationSvc/IRealizationSvc.h"
20#include "EmcCalibConstSvc/IEmcCalibConstSvc.h"
38 BesTrigL1(
const std::string& name, ISvcLocator* pSvcLocator );
44 void findSETime(multimap<
int,uint32_t,less<int> > mdc_hitmap, multimap<
int,
int,less<int> > tof_hitmap, multimap<
int,uint32_t,less<int> > emc_TC,
45 double& stime,
double& etime);
47 void runAclock_mdc(
int iclock,
double stime, multimap<
int,uint32_t,less<int> > mdc_hitmap);
48 void runAclock_tof(
int iclock,
double stime,
int& idle_status, std::multimap<
int,
int,less<int> > tof_hitmap);
59 double hit9[76], hit10[76], hit11[88], hit12[88];
60 double hit13[100], hit14[100], hit15[112], hit16[112];
61 double hit17[128], hit18[128], hit19[140], hit20[140];
62 double hit37[256], hit38[256], hit39[256], hit40[256];
85 std::string indexfile;
99 NTuple::Tuple* m_tuple;
100 NTuple::Item<float> m_wire_x;
101 NTuple::Item<float> m_wire_y;
102 NTuple::Item<long> m_wire_evtId;
103 NTuple::Item<long> m_delta_tdc;
105 NTuple::Tuple* m_tuple1;
106 NTuple::Item<long> m_RunId;
107 NTuple::Item<long> m_EventId;
108 NTuple::Item<float> m_mc_totE_all;
109 NTuple::Item<float> m_data_totE_all;
110 NTuple::Item<float> m_wetotE;
111 NTuple::Item<float> m_eetotE;
112 NTuple::Item<long> m_data_wetotE;
113 NTuple::Item<long> m_data_eetotE;
114 NTuple::Item<long> m_index_btc;
115 NTuple::Array<float> m_btc_e;
116 NTuple::Array<long> m_data_btc;
117 NTuple::Item<long> m_cond_id;
118 NTuple::Array<long> m_mc_cond;
119 NTuple::Array<long> m_data_cond;
120 NTuple::Item<long> m_block_id;
121 NTuple::Array<float> m_mc_blockE;
122 NTuple::Array<float> m_data_blockE;
123 NTuple::Array<float> m_R_blockE;
125 NTuple::Tuple* m_tuple2;
126 NTuple::Item<long> m_index2;
127 NTuple::Array<long> m_fireLayer;
129 NTuple::Item<long> m_index3;
130 NTuple::Array<long> m_hitLayer;
132 NTuple::Item<long> m_index4;
133 NTuple::Array<long> m_hitSeg;
135 NTuple::Item<long> m_index5;
136 NTuple::Array<float> m_costheta;
137 NTuple::Array<float> m_phi;
138 NTuple::Array<float> m_p;
139 NTuple::Array<float> m_pdgcode;
141 NTuple::Item<long> m_index6;
142 NTuple::Array<float> m_hitphi;
144 NTuple::Item<long> m_nlayerEE;
145 NTuple::Item<long> m_nlayerBR;
146 NTuple::Item<long> m_nlayerWE;
147 NTuple::Item<long> m_nlayerTotal;
149 NTuple::Item<long> m_nhitEE;
150 NTuple::Item<long> m_nhitWE;
151 NTuple::Item<long> m_nhitBR;
152 NTuple::Item<long> m_nhitTotal;
154 NTuple::Item<float> m_mumcostheta;
155 NTuple::Item<float> m_mumphi;
157 NTuple::Item<long> m_trackfindall;
158 NTuple::Item<long> m_trackfind3l;
159 NTuple::Item<long> m_trackb;
160 NTuple::Item<long> m_tracke;
161 NTuple::Item<long> m_ntrack1;
162 NTuple::Item<long> m_ntrack2;
163 NTuple::Item<long> m_ntrack3;
164 NTuple::Item<long> m_ngoodevent;
165 NTuple::Item<long> m_ngoodtrack;
167 NTuple::Tuple* m_tuple3;
168 NTuple::Item<long> m_evtId;
169 NTuple::Item<long> m_condNOne[48];
170 NTuple::Item<long> m_condNZero[48];
174 ITHistSvc *m_thistsvc;
175 TH1F *m_trigCondi_MC;
176 TH1F *m_trigCondi_Data;
ObjectVector< EmcDigi > EmcDigiCol
virtual StatusCode execute()
Algorithm execution.
void runAclock_emc(int iclock, double stime, std::multimap< int, uint32_t, less< int > > emc_TC, EmcWaveform *blockWave)
void findEmcPeakTime(double &peak_time, EmcWaveform *blockWave)
void runAclock_tof(int iclock, double stime, int &idle_status, std::multimap< int, int, less< int > > tof_hitmap)
void getEmcAnalogSig(EmcDigiCol *emcDigiCol, EmcWaveform(&blockWave)[16], multimap< int, uint32_t, less< int > > &emc_TC)
void trgGTLDelay(int nclock, int **&trgcond)
void trgSAFDelay(int nclock, int **&trgcond)
virtual StatusCode finalize()
Algorithm finalization.
void findSETime(multimap< int, uint32_t, less< int > > mdc_hitmap, multimap< int, int, less< int > > tof_hitmap, multimap< int, uint32_t, less< int > > emc_TC, double &stime, double &etime)
virtual StatusCode initialize()
Destructor.
void stretchTrgCond(int nclock, int **&trgcond)
void runAclock_mdc(int iclock, double stime, multimap< int, uint32_t, less< int > > mdc_hitmap)