46 if (fOutTree && fOutFile) {
51 if (fOutTrees && fOutFiles)
52 for (Int_t iDet = 0; iDet < nDets; iDet++) {
53 fOutFiles[iDet]->cd();
54 fOutTrees[iDet]->Write();
55 fOutFiles[iDet]->Close();
66 fNevsToBeProcessed = nEvs;
73 isRun6 ? SplitToDetectorsRun6() : isRun7 ? SplitToDetectorsRun7() :
throw;
75 SplitToDetectorsSrc();
84 UInt_t fNevsToBeProcessed;
92 TClonesArray* fGemDigits;
93 TClonesArray* fCscDigits;
94 TClonesArray* fSilDigits;
95 TClonesArray* fZdcDigits;
96 TClonesArray* fT0Digits;
97 TClonesArray* fBC1Digits;
98 TClonesArray* fBC2Digits;
99 TClonesArray* fBC3Digits;
100 TClonesArray* fBC4Digits;
101 TClonesArray* fBC1TQDCDigits;
102 TClonesArray* fBC2TQDCDigits;
103 TClonesArray* fBC3TQDCDigits;
104 TClonesArray* fBC4TQDCDigits;
105 TClonesArray* fX1LDigits;
106 TClonesArray* fX2LDigits;
107 TClonesArray* fY1LDigits;
108 TClonesArray* fY2LDigits;
109 TClonesArray* fX1RDigits;
110 TClonesArray* fX2RDigits;
111 TClonesArray* fY1RDigits;
112 TClonesArray* fY2RDigits;
113 TClonesArray* fX1LTQDCDigits;
114 TClonesArray* fX2LTQDCDigits;
115 TClonesArray* fY1LTQDCDigits;
116 TClonesArray* fY2LTQDCDigits;
117 TClonesArray* fX1RTQDCDigits;
118 TClonesArray* fX2RTQDCDigits;
119 TClonesArray* fY1RTQDCDigits;
120 TClonesArray* fY2RTQDCDigits;
121 TClonesArray* fVetoDigits;
122 TClonesArray* fVetoTQDCDigits;
123 TClonesArray* fFdDigits;
124 TClonesArray* fSiDigits;
125 TClonesArray* fBdDigits;
126 TClonesArray* fMwpcDigits;
127 TClonesArray* fDchDigits;
128 TClonesArray* fTof400Digits;
129 TClonesArray* fTof700Digits;
130 TClonesArray* fEcalDigits;
141 TClonesArray* fBC1TQDC;
142 TClonesArray* fBC2TQDC;
143 TClonesArray* fBC3TQDC;
144 TClonesArray* fBC4TQDC;
153 TClonesArray* fX1LTQDC;
154 TClonesArray* fX2LTQDC;
155 TClonesArray* fY1LTQDC;
156 TClonesArray* fY2LTQDC;
157 TClonesArray* fX1RTQDC;
158 TClonesArray* fX2RTQDC;
159 TClonesArray* fY1RTQDC;
160 TClonesArray* fY2RTQDC;
163 TClonesArray* fVetoTQDC;
168 TClonesArray* fTof400;
169 TClonesArray* fTof700;
173 TClonesArray* fHeader1;
174 TClonesArray* fHeader2;
176 TClonesArray* fHeader3;
191 TClonesArray** fInArrs;
192 TClonesArray** fOutArrs;
199 map <Int_t, Int_t> fGemStats;
200 map <Int_t, Int_t> fSilStats;
205 inline Int_t GemStatPermutation(Int_t stat) {
206 return fGemStats.find(stat)->second;
209 inline Int_t SiliconStatPermutation(Int_t stat) {
210 return fSilStats.find(stat)->second;
213 void GlueEventsFromInputFiles();
214 void CreateOutputFile(TString);
215 void CreateOutputFiles();
217 void SplitToDetectorsRun6();
218 void SplitToDetectorsRun7();
219 void SplitToDetectorsSrc();
221 void CreateGeometries();
222 void Run7(Int_t*, Int_t*, Int_t*, Int_t*);
224 template <
class T>
void FillDetDigi(TClonesArray* inDigiArr, TClonesArray* outDigiArr) {
225 for (UInt_t iDigi = 0; iDigi < inDigiArr->GetEntriesFast(); iDigi++)
226 new ((*outDigiArr)[outDigiArr->GetEntriesFast()]) T(*(T*) inDigiArr->UncheckedAt(iDigi));