00001 #ifndef LaserAlignment_LaserAlignment_H
00002 #define LaserAlignment_LaserAlignment_H
00003
00012 #include <sstream>
00013
00014 #include "FWCore/Framework/interface/EDProducer.h"
00015 #include "FWCore/Framework/interface/ESHandle.h"
00016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00017
00018 #include "Alignment/LaserAlignment/interface/BeamProfileFitter.h"
00019
00020 #include "Alignment/LaserAlignment/interface/LaserAlignmentPosTEC.h"
00021 #include "Alignment/LaserAlignment/interface/LaserAlignmentNegTEC.h"
00022 #include "Alignment/LaserAlignment/interface/LaserAlignmentTEC2TEC.h"
00023 #include "Alignment/LaserAlignment/interface/AlignmentAlgorithmBW.h"
00024
00025 #include "Alignment/LaserAlignment/interface/LASvector.h"
00026 #include "Alignment/LaserAlignment/interface/LASvector2D.h"
00027
00028 #include "DataFormats/Common/interface/DetSetVector.h"
00029 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h"
00030 #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h"
00031 #include "DataFormats/DetId/interface/DetId.h"
00032 #include "DataFormats/GeometryCommonDetAlgo/interface/ErrorFrameTransformer.h"
00033 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00034
00035 #include "CondFormats/SiStripObjects/interface/SiStripPedestals.h"
00036 #include "CondFormats/DataRecord/interface/SiStripPedestalsRcd.h"
00037
00038 #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
00039 #include "Geometry/CommonTopologies/interface/StripTopology.h"
00040
00041
00042
00043 #include "Alignment/TrackerAlignment/interface/AlignableTracker.h"
00044
00045
00046 #include "Alignment/LaserAlignment/src/LASGlobalData.cc"
00047 #include "Alignment/LaserAlignment/src/LASGlobalLoop.h"
00048 #include "Alignment/LaserAlignment/src/LASModuleProfile.h"
00049 #include "Alignment/LaserAlignment/src/LASProfileJudge.h"
00050 #include "Alignment/LaserAlignment/src/LASBarrelAlgorithm.h"
00051 #include "Alignment/LaserAlignment/src/LASEndcapAlgorithm.h"
00052 #include "Alignment/LaserAlignment/src/LASPeakFinder.h"
00053 #include "Alignment/LaserAlignment/src/LASCoordinateSet.h"
00054 #include "Alignment/LaserAlignment/src/LASGeometryUpdater.h"
00055
00056
00057
00058 #include "TH1.h"
00059 #include "TObject.h"
00060 class TFile;
00061 class TH1D;
00062
00063 #include <iostream>
00064 #include <cmath>
00065
00069 class LaserAlignment : public edm::EDProducer, public TObject {
00070
00071 public:
00072 typedef std::vector<edm::ParameterSet> Parameters;
00073
00075 typedef LASvector<double> LASvec;
00076 typedef LASvector2D<double> LASvec2D;
00077
00079 explicit LaserAlignment(edm::ParameterSet const& theConf);
00081 ~LaserAlignment();
00082
00084 virtual void beginJob(const edm::EventSetup&);
00085
00087 virtual void produce(edm::Event& theEvent, edm::EventSetup const& theSetup);
00088
00089
00090 virtual void endJob();
00091
00092 private:
00093
00095 double angle(double theAngle);
00096
00098 std::vector<int> checkBeam(std::vector<std::string>::const_iterator iHistName, std::map<std::string, std::pair<DetId, TH1D*> >::iterator iHist);
00099
00101 void closeRootFile();
00102
00104 void fillAdcCounts(TH1D * theHistogram, DetId theDetId,
00105 edm::DetSet<SiStripRawDigi>::const_iterator digiRangeIterator,
00106 edm::DetSet<SiStripRawDigi>::const_iterator digiRangeIteratorEnd,
00107 LASModuleProfile& theProfile );
00108
00110 void initHistograms();
00111
00113 void fillPedestalProfiles( edm::ESHandle<SiStripPedestals>& );
00114
00116 bool isTECBeam( void );
00117 bool isATBeam( void );
00118
00119
00120 int getTOBProfileOffset( int det, int beam, int pos );
00121
00123 void trackerStatistics(edm::Event const& theEvent, edm::EventSetup const& theSetup);
00124
00126 void fit(edm::EventSetup const& theSetup);
00127
00129 void alignmentAlgorithm(edm::ParameterSet const& theAlgorithmConf,
00130 AlignableTracker * theAlignableTracker);
00131
00132
00133 private:
00134
00135
00136 void fillDetectorId( void );
00137
00138
00139 double ConvertAngle( double );
00140
00141
00142 void CalculateNominalCoordinates( void );
00143
00144
00145 int theEvents;
00146 bool theDoPedestalSubtraction;
00147 bool enableJudgeZeroFilter;
00148 bool theStoreToDB;
00149 bool theSaveHistograms;
00150 int theDebugLevel;
00151 int theNEventsPerLaserIntensity;
00152 int theNEventsForAllIntensities;
00153 int theDoAlignmentAfterNEvents;
00154 bool theAlignPosTEC;
00155 bool theAlignNegTEC;
00156 bool theAlignTEC2TEC;
00157 bool theUseBrunosAlgorithm;
00158 bool theUseNewAlgorithms;
00159 bool theIsGoodFit;
00160 double theSearchPhiTIB;
00161 double theSearchPhiTOB;
00162 double theSearchPhiTEC;
00163 double theSearchZTIB;
00164 double theSearchZTOB;
00165
00166 double thePhiErrorScalingFactor;
00167
00168
00169 Parameters theDigiProducersList;
00170
00171
00172
00173 LASProfileJudge judge;
00174
00175
00176 LASGlobalData<int> detectorId;
00177
00178
00179 std::vector<int> tecDoubleHitDetId;
00180
00181
00182 LASGlobalData<LASModuleProfile> pedestalProfiles;
00183
00184
00185
00186 LASGlobalData<LASModuleProfile> currentDataProfiles;
00187 LASGlobalData<LASModuleProfile> collectedDataProfiles;
00188
00189
00190 LASGlobalData<std::string> theProfileNames;
00191
00192
00193 LASGlobalData<int> numberOfAcceptedProfiles;
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203 LASGlobalData<int> isAcceptedProfile;
00204
00205
00206
00207 LASGlobalData<TH1D*> summedHistograms;
00208
00209
00210 LASGlobalData<LASCoordinateSet> nominalCoordinates;
00211
00212
00213
00214 LASGlobalLoop moduleLoop;
00215
00216
00217 TFile * theFile;
00218 TDirectory* singleModulesDir;
00219 int theCompression;
00220 std::string theFileName;
00221
00222
00223 edm::ParameterSet theBeamFitPS;
00224
00225
00226 edm::ParameterSet theAlignmentAlgorithmPS;
00227
00228
00229 int theMinAdcCounts;
00230
00231
00232 std::vector<std::string> theHistogramNames;
00233 std::map<std::string, std::pair<DetId, TH1D*> > theHistograms;
00234
00235
00236
00237 std::vector<double> theLaserPhi;
00238 std::vector<double> theLaserPhiError;
00239
00240
00241 int theNumberOfIterations;
00242
00243 int theNumberOfAlignmentIterations;
00244
00245
00246 BeamProfileFitter * theBeamFitter;
00247
00248
00249 LaserAlignmentPosTEC * theLASAlignPosTEC;
00250 LaserAlignmentNegTEC * theLASAlignNegTEC;
00251 LaserAlignmentTEC2TEC * theLASAlignTEC2TEC;
00252
00254 AlignmentAlgorithmBW * theAlignmentAlgorithmBW;
00256 bool theUseBSFrame;
00257
00258 LASBarrelAlgorithm barrelAlgorithm;
00259
00260 LASEndcapAlgorithm endcapAlgorithm;
00261
00262
00263 std::map<DetId, std::vector<SiStripRawDigi> > theDigiStore;
00264
00265 std::map<std::string, std::vector<LASBeamProfileFit> > theBeamProfileFitStore;
00266
00267
00268 std::vector<edm::DetSet<SiStripRawDigi> > theDigiVector;
00269
00270
00271 edm::ESHandle<GeometricDet> gD;
00272 edm::ESHandle<TrackerGeometry> theTrackerGeometry;
00273
00274
00275
00276
00277
00278
00279
00280
00281 AlignableTracker * theAlignableTracker;
00282
00283 std::string theAlignRecordName, theErrorRecordName;
00284
00285
00286
00287
00288
00289 TH1D * theBeam0Ring4Disc1PosAdcCounts;
00290 TH1D * theBeam0Ring4Disc2PosAdcCounts;
00291 TH1D * theBeam0Ring4Disc3PosAdcCounts;
00292 TH1D * theBeam0Ring4Disc4PosAdcCounts;
00293 TH1D * theBeam0Ring4Disc5PosAdcCounts;
00294 TH1D * theBeam0Ring4Disc6PosAdcCounts;
00295 TH1D * theBeam0Ring4Disc7PosAdcCounts;
00296 TH1D * theBeam0Ring4Disc8PosAdcCounts;
00297 TH1D * theBeam0Ring4Disc9PosAdcCounts;
00298
00299
00300 TH1D * theBeam1Ring4Disc1PosAdcCounts;
00301 TH1D * theBeam1Ring4Disc2PosAdcCounts;
00302 TH1D * theBeam1Ring4Disc3PosAdcCounts;
00303 TH1D * theBeam1Ring4Disc4PosAdcCounts;
00304 TH1D * theBeam1Ring4Disc5PosAdcCounts;
00305 TH1D * theBeam1Ring4Disc6PosAdcCounts;
00306 TH1D * theBeam1Ring4Disc7PosAdcCounts;
00307 TH1D * theBeam1Ring4Disc8PosAdcCounts;
00308 TH1D * theBeam1Ring4Disc9PosAdcCounts;
00309
00310
00311 TH1D * theBeam1Ring4Disc1PosTEC2TECAdcCounts;
00312 TH1D * theBeam1Ring4Disc2PosTEC2TECAdcCounts;
00313 TH1D * theBeam1Ring4Disc3PosTEC2TECAdcCounts;
00314 TH1D * theBeam1Ring4Disc4PosTEC2TECAdcCounts;
00315 TH1D * theBeam1Ring4Disc5PosTEC2TECAdcCounts;
00316
00317
00318 TH1D * theBeam2Ring4Disc1PosAdcCounts;
00319 TH1D * theBeam2Ring4Disc2PosAdcCounts;
00320 TH1D * theBeam2Ring4Disc3PosAdcCounts;
00321 TH1D * theBeam2Ring4Disc4PosAdcCounts;
00322 TH1D * theBeam2Ring4Disc5PosAdcCounts;
00323 TH1D * theBeam2Ring4Disc6PosAdcCounts;
00324 TH1D * theBeam2Ring4Disc7PosAdcCounts;
00325 TH1D * theBeam2Ring4Disc8PosAdcCounts;
00326 TH1D * theBeam2Ring4Disc9PosAdcCounts;
00327
00328
00329 TH1D * theBeam2Ring4Disc1PosTEC2TECAdcCounts;
00330 TH1D * theBeam2Ring4Disc2PosTEC2TECAdcCounts;
00331 TH1D * theBeam2Ring4Disc3PosTEC2TECAdcCounts;
00332 TH1D * theBeam2Ring4Disc4PosTEC2TECAdcCounts;
00333 TH1D * theBeam2Ring4Disc5PosTEC2TECAdcCounts;
00334
00335
00336 TH1D * theBeam3Ring4Disc1PosAdcCounts;
00337 TH1D * theBeam3Ring4Disc2PosAdcCounts;
00338 TH1D * theBeam3Ring4Disc3PosAdcCounts;
00339 TH1D * theBeam3Ring4Disc4PosAdcCounts;
00340 TH1D * theBeam3Ring4Disc5PosAdcCounts;
00341 TH1D * theBeam3Ring4Disc6PosAdcCounts;
00342 TH1D * theBeam3Ring4Disc7PosAdcCounts;
00343 TH1D * theBeam3Ring4Disc8PosAdcCounts;
00344 TH1D * theBeam3Ring4Disc9PosAdcCounts;
00345
00346
00347 TH1D * theBeam4Ring4Disc1PosAdcCounts;
00348 TH1D * theBeam4Ring4Disc2PosAdcCounts;
00349 TH1D * theBeam4Ring4Disc3PosAdcCounts;
00350 TH1D * theBeam4Ring4Disc4PosAdcCounts;
00351 TH1D * theBeam4Ring4Disc5PosAdcCounts;
00352 TH1D * theBeam4Ring4Disc6PosAdcCounts;
00353 TH1D * theBeam4Ring4Disc7PosAdcCounts;
00354 TH1D * theBeam4Ring4Disc8PosAdcCounts;
00355 TH1D * theBeam4Ring4Disc9PosAdcCounts;
00356
00357
00358 TH1D * theBeam4Ring4Disc1PosTEC2TECAdcCounts;
00359 TH1D * theBeam4Ring4Disc2PosTEC2TECAdcCounts;
00360 TH1D * theBeam4Ring4Disc3PosTEC2TECAdcCounts;
00361 TH1D * theBeam4Ring4Disc4PosTEC2TECAdcCounts;
00362 TH1D * theBeam4Ring4Disc5PosTEC2TECAdcCounts;
00363
00364
00365 TH1D * theBeam5Ring4Disc1PosAdcCounts;
00366 TH1D * theBeam5Ring4Disc2PosAdcCounts;
00367 TH1D * theBeam5Ring4Disc3PosAdcCounts;
00368 TH1D * theBeam5Ring4Disc4PosAdcCounts;
00369 TH1D * theBeam5Ring4Disc5PosAdcCounts;
00370 TH1D * theBeam5Ring4Disc6PosAdcCounts;
00371 TH1D * theBeam5Ring4Disc7PosAdcCounts;
00372 TH1D * theBeam5Ring4Disc8PosAdcCounts;
00373 TH1D * theBeam5Ring4Disc9PosAdcCounts;
00374
00375
00376 TH1D * theBeam6Ring4Disc1PosAdcCounts;
00377 TH1D * theBeam6Ring4Disc2PosAdcCounts;
00378 TH1D * theBeam6Ring4Disc3PosAdcCounts;
00379 TH1D * theBeam6Ring4Disc4PosAdcCounts;
00380 TH1D * theBeam6Ring4Disc5PosAdcCounts;
00381 TH1D * theBeam6Ring4Disc6PosAdcCounts;
00382 TH1D * theBeam6Ring4Disc7PosAdcCounts;
00383 TH1D * theBeam6Ring4Disc8PosAdcCounts;
00384 TH1D * theBeam6Ring4Disc9PosAdcCounts;
00385
00386
00387 TH1D * theBeam6Ring4Disc1PosTEC2TECAdcCounts;
00388 TH1D * theBeam6Ring4Disc2PosTEC2TECAdcCounts;
00389 TH1D * theBeam6Ring4Disc3PosTEC2TECAdcCounts;
00390 TH1D * theBeam6Ring4Disc4PosTEC2TECAdcCounts;
00391 TH1D * theBeam6Ring4Disc5PosTEC2TECAdcCounts;
00392
00393
00394 TH1D * theBeam7Ring4Disc1PosAdcCounts;
00395 TH1D * theBeam7Ring4Disc2PosAdcCounts;
00396 TH1D * theBeam7Ring4Disc3PosAdcCounts;
00397 TH1D * theBeam7Ring4Disc4PosAdcCounts;
00398 TH1D * theBeam7Ring4Disc5PosAdcCounts;
00399 TH1D * theBeam7Ring4Disc6PosAdcCounts;
00400 TH1D * theBeam7Ring4Disc7PosAdcCounts;
00401 TH1D * theBeam7Ring4Disc8PosAdcCounts;
00402 TH1D * theBeam7Ring4Disc9PosAdcCounts;
00403
00404
00405 TH1D * theBeam7Ring4Disc1PosTEC2TECAdcCounts;
00406 TH1D * theBeam7Ring4Disc2PosTEC2TECAdcCounts;
00407 TH1D * theBeam7Ring4Disc3PosTEC2TECAdcCounts;
00408 TH1D * theBeam7Ring4Disc4PosTEC2TECAdcCounts;
00409 TH1D * theBeam7Ring4Disc5PosTEC2TECAdcCounts;
00410
00411
00412 TH1D * theBeam0Ring6Disc1PosAdcCounts;
00413 TH1D * theBeam0Ring6Disc2PosAdcCounts;
00414 TH1D * theBeam0Ring6Disc3PosAdcCounts;
00415 TH1D * theBeam0Ring6Disc4PosAdcCounts;
00416 TH1D * theBeam0Ring6Disc5PosAdcCounts;
00417 TH1D * theBeam0Ring6Disc6PosAdcCounts;
00418 TH1D * theBeam0Ring6Disc7PosAdcCounts;
00419 TH1D * theBeam0Ring6Disc8PosAdcCounts;
00420 TH1D * theBeam0Ring6Disc9PosAdcCounts;
00421
00422
00423 TH1D * theBeam1Ring6Disc1PosAdcCounts;
00424 TH1D * theBeam1Ring6Disc2PosAdcCounts;
00425 TH1D * theBeam1Ring6Disc3PosAdcCounts;
00426 TH1D * theBeam1Ring6Disc4PosAdcCounts;
00427 TH1D * theBeam1Ring6Disc5PosAdcCounts;
00428 TH1D * theBeam1Ring6Disc6PosAdcCounts;
00429 TH1D * theBeam1Ring6Disc7PosAdcCounts;
00430 TH1D * theBeam1Ring6Disc8PosAdcCounts;
00431 TH1D * theBeam1Ring6Disc9PosAdcCounts;
00432
00433
00434 TH1D * theBeam2Ring6Disc1PosAdcCounts;
00435 TH1D * theBeam2Ring6Disc2PosAdcCounts;
00436 TH1D * theBeam2Ring6Disc3PosAdcCounts;
00437 TH1D * theBeam2Ring6Disc4PosAdcCounts;
00438 TH1D * theBeam2Ring6Disc5PosAdcCounts;
00439 TH1D * theBeam2Ring6Disc6PosAdcCounts;
00440 TH1D * theBeam2Ring6Disc7PosAdcCounts;
00441 TH1D * theBeam2Ring6Disc8PosAdcCounts;
00442 TH1D * theBeam2Ring6Disc9PosAdcCounts;
00443
00444
00445 TH1D * theBeam3Ring6Disc1PosAdcCounts;
00446 TH1D * theBeam3Ring6Disc2PosAdcCounts;
00447 TH1D * theBeam3Ring6Disc3PosAdcCounts;
00448 TH1D * theBeam3Ring6Disc4PosAdcCounts;
00449 TH1D * theBeam3Ring6Disc5PosAdcCounts;
00450 TH1D * theBeam3Ring6Disc6PosAdcCounts;
00451 TH1D * theBeam3Ring6Disc7PosAdcCounts;
00452 TH1D * theBeam3Ring6Disc8PosAdcCounts;
00453 TH1D * theBeam3Ring6Disc9PosAdcCounts;
00454
00455
00456 TH1D * theBeam4Ring6Disc1PosAdcCounts;
00457 TH1D * theBeam4Ring6Disc2PosAdcCounts;
00458 TH1D * theBeam4Ring6Disc3PosAdcCounts;
00459 TH1D * theBeam4Ring6Disc4PosAdcCounts;
00460 TH1D * theBeam4Ring6Disc5PosAdcCounts;
00461 TH1D * theBeam4Ring6Disc6PosAdcCounts;
00462 TH1D * theBeam4Ring6Disc7PosAdcCounts;
00463 TH1D * theBeam4Ring6Disc8PosAdcCounts;
00464 TH1D * theBeam4Ring6Disc9PosAdcCounts;
00465
00466
00467 TH1D * theBeam5Ring6Disc1PosAdcCounts;
00468 TH1D * theBeam5Ring6Disc2PosAdcCounts;
00469 TH1D * theBeam5Ring6Disc3PosAdcCounts;
00470 TH1D * theBeam5Ring6Disc4PosAdcCounts;
00471 TH1D * theBeam5Ring6Disc5PosAdcCounts;
00472 TH1D * theBeam5Ring6Disc6PosAdcCounts;
00473 TH1D * theBeam5Ring6Disc7PosAdcCounts;
00474 TH1D * theBeam5Ring6Disc8PosAdcCounts;
00475 TH1D * theBeam5Ring6Disc9PosAdcCounts;
00476
00477
00478 TH1D * theBeam6Ring6Disc1PosAdcCounts;
00479 TH1D * theBeam6Ring6Disc2PosAdcCounts;
00480 TH1D * theBeam6Ring6Disc3PosAdcCounts;
00481 TH1D * theBeam6Ring6Disc4PosAdcCounts;
00482 TH1D * theBeam6Ring6Disc5PosAdcCounts;
00483 TH1D * theBeam6Ring6Disc6PosAdcCounts;
00484 TH1D * theBeam6Ring6Disc7PosAdcCounts;
00485 TH1D * theBeam6Ring6Disc8PosAdcCounts;
00486 TH1D * theBeam6Ring6Disc9PosAdcCounts;
00487
00488
00489 TH1D * theBeam7Ring6Disc1PosAdcCounts;
00490 TH1D * theBeam7Ring6Disc2PosAdcCounts;
00491 TH1D * theBeam7Ring6Disc3PosAdcCounts;
00492 TH1D * theBeam7Ring6Disc4PosAdcCounts;
00493 TH1D * theBeam7Ring6Disc5PosAdcCounts;
00494 TH1D * theBeam7Ring6Disc6PosAdcCounts;
00495 TH1D * theBeam7Ring6Disc7PosAdcCounts;
00496 TH1D * theBeam7Ring6Disc8PosAdcCounts;
00497 TH1D * theBeam7Ring6Disc9PosAdcCounts;
00498
00499
00500
00501 TH1D * theBeam0Ring4Disc1NegAdcCounts;
00502 TH1D * theBeam0Ring4Disc2NegAdcCounts;
00503 TH1D * theBeam0Ring4Disc3NegAdcCounts;
00504 TH1D * theBeam0Ring4Disc4NegAdcCounts;
00505 TH1D * theBeam0Ring4Disc5NegAdcCounts;
00506 TH1D * theBeam0Ring4Disc6NegAdcCounts;
00507 TH1D * theBeam0Ring4Disc7NegAdcCounts;
00508 TH1D * theBeam0Ring4Disc8NegAdcCounts;
00509 TH1D * theBeam0Ring4Disc9NegAdcCounts;
00510
00511
00512 TH1D * theBeam1Ring4Disc1NegAdcCounts;
00513 TH1D * theBeam1Ring4Disc2NegAdcCounts;
00514 TH1D * theBeam1Ring4Disc3NegAdcCounts;
00515 TH1D * theBeam1Ring4Disc4NegAdcCounts;
00516 TH1D * theBeam1Ring4Disc5NegAdcCounts;
00517 TH1D * theBeam1Ring4Disc6NegAdcCounts;
00518 TH1D * theBeam1Ring4Disc7NegAdcCounts;
00519 TH1D * theBeam1Ring4Disc8NegAdcCounts;
00520 TH1D * theBeam1Ring4Disc9NegAdcCounts;
00521
00522
00523 TH1D * theBeam1Ring4Disc1NegTEC2TECAdcCounts;
00524 TH1D * theBeam1Ring4Disc2NegTEC2TECAdcCounts;
00525 TH1D * theBeam1Ring4Disc3NegTEC2TECAdcCounts;
00526 TH1D * theBeam1Ring4Disc4NegTEC2TECAdcCounts;
00527 TH1D * theBeam1Ring4Disc5NegTEC2TECAdcCounts;
00528
00529
00530 TH1D * theBeam2Ring4Disc1NegAdcCounts;
00531 TH1D * theBeam2Ring4Disc2NegAdcCounts;
00532 TH1D * theBeam2Ring4Disc3NegAdcCounts;
00533 TH1D * theBeam2Ring4Disc4NegAdcCounts;
00534 TH1D * theBeam2Ring4Disc5NegAdcCounts;
00535 TH1D * theBeam2Ring4Disc6NegAdcCounts;
00536 TH1D * theBeam2Ring4Disc7NegAdcCounts;
00537 TH1D * theBeam2Ring4Disc8NegAdcCounts;
00538 TH1D * theBeam2Ring4Disc9NegAdcCounts;
00539
00540
00541 TH1D * theBeam2Ring4Disc1NegTEC2TECAdcCounts;
00542 TH1D * theBeam2Ring4Disc2NegTEC2TECAdcCounts;
00543 TH1D * theBeam2Ring4Disc3NegTEC2TECAdcCounts;
00544 TH1D * theBeam2Ring4Disc4NegTEC2TECAdcCounts;
00545 TH1D * theBeam2Ring4Disc5NegTEC2TECAdcCounts;
00546
00547
00548 TH1D * theBeam3Ring4Disc1NegAdcCounts;
00549 TH1D * theBeam3Ring4Disc2NegAdcCounts;
00550 TH1D * theBeam3Ring4Disc3NegAdcCounts;
00551 TH1D * theBeam3Ring4Disc4NegAdcCounts;
00552 TH1D * theBeam3Ring4Disc5NegAdcCounts;
00553 TH1D * theBeam3Ring4Disc6NegAdcCounts;
00554 TH1D * theBeam3Ring4Disc7NegAdcCounts;
00555 TH1D * theBeam3Ring4Disc8NegAdcCounts;
00556 TH1D * theBeam3Ring4Disc9NegAdcCounts;
00557
00558
00559 TH1D * theBeam4Ring4Disc1NegAdcCounts;
00560 TH1D * theBeam4Ring4Disc2NegAdcCounts;
00561 TH1D * theBeam4Ring4Disc3NegAdcCounts;
00562 TH1D * theBeam4Ring4Disc4NegAdcCounts;
00563 TH1D * theBeam4Ring4Disc5NegAdcCounts;
00564 TH1D * theBeam4Ring4Disc6NegAdcCounts;
00565 TH1D * theBeam4Ring4Disc7NegAdcCounts;
00566 TH1D * theBeam4Ring4Disc8NegAdcCounts;
00567 TH1D * theBeam4Ring4Disc9NegAdcCounts;
00568
00569
00570 TH1D * theBeam4Ring4Disc1NegTEC2TECAdcCounts;
00571 TH1D * theBeam4Ring4Disc2NegTEC2TECAdcCounts;
00572 TH1D * theBeam4Ring4Disc3NegTEC2TECAdcCounts;
00573 TH1D * theBeam4Ring4Disc4NegTEC2TECAdcCounts;
00574 TH1D * theBeam4Ring4Disc5NegTEC2TECAdcCounts;
00575
00576
00577 TH1D * theBeam5Ring4Disc1NegAdcCounts;
00578 TH1D * theBeam5Ring4Disc2NegAdcCounts;
00579 TH1D * theBeam5Ring4Disc3NegAdcCounts;
00580 TH1D * theBeam5Ring4Disc4NegAdcCounts;
00581 TH1D * theBeam5Ring4Disc5NegAdcCounts;
00582 TH1D * theBeam5Ring4Disc6NegAdcCounts;
00583 TH1D * theBeam5Ring4Disc7NegAdcCounts;
00584 TH1D * theBeam5Ring4Disc8NegAdcCounts;
00585 TH1D * theBeam5Ring4Disc9NegAdcCounts;
00586
00587
00588 TH1D * theBeam6Ring4Disc1NegAdcCounts;
00589 TH1D * theBeam6Ring4Disc2NegAdcCounts;
00590 TH1D * theBeam6Ring4Disc3NegAdcCounts;
00591 TH1D * theBeam6Ring4Disc4NegAdcCounts;
00592 TH1D * theBeam6Ring4Disc5NegAdcCounts;
00593 TH1D * theBeam6Ring4Disc6NegAdcCounts;
00594 TH1D * theBeam6Ring4Disc7NegAdcCounts;
00595 TH1D * theBeam6Ring4Disc8NegAdcCounts;
00596 TH1D * theBeam6Ring4Disc9NegAdcCounts;
00597
00598
00599 TH1D * theBeam6Ring4Disc1NegTEC2TECAdcCounts;
00600 TH1D * theBeam6Ring4Disc2NegTEC2TECAdcCounts;
00601 TH1D * theBeam6Ring4Disc3NegTEC2TECAdcCounts;
00602 TH1D * theBeam6Ring4Disc4NegTEC2TECAdcCounts;
00603 TH1D * theBeam6Ring4Disc5NegTEC2TECAdcCounts;
00604
00605
00606 TH1D * theBeam7Ring4Disc1NegAdcCounts;
00607 TH1D * theBeam7Ring4Disc2NegAdcCounts;
00608 TH1D * theBeam7Ring4Disc3NegAdcCounts;
00609 TH1D * theBeam7Ring4Disc4NegAdcCounts;
00610 TH1D * theBeam7Ring4Disc5NegAdcCounts;
00611 TH1D * theBeam7Ring4Disc6NegAdcCounts;
00612 TH1D * theBeam7Ring4Disc7NegAdcCounts;
00613 TH1D * theBeam7Ring4Disc8NegAdcCounts;
00614 TH1D * theBeam7Ring4Disc9NegAdcCounts;
00615
00616
00617 TH1D * theBeam7Ring4Disc1NegTEC2TECAdcCounts;
00618 TH1D * theBeam7Ring4Disc2NegTEC2TECAdcCounts;
00619 TH1D * theBeam7Ring4Disc3NegTEC2TECAdcCounts;
00620 TH1D * theBeam7Ring4Disc4NegTEC2TECAdcCounts;
00621 TH1D * theBeam7Ring4Disc5NegTEC2TECAdcCounts;
00622
00623
00624 TH1D * theBeam0Ring6Disc1NegAdcCounts;
00625 TH1D * theBeam0Ring6Disc2NegAdcCounts;
00626 TH1D * theBeam0Ring6Disc3NegAdcCounts;
00627 TH1D * theBeam0Ring6Disc4NegAdcCounts;
00628 TH1D * theBeam0Ring6Disc5NegAdcCounts;
00629 TH1D * theBeam0Ring6Disc6NegAdcCounts;
00630 TH1D * theBeam0Ring6Disc7NegAdcCounts;
00631 TH1D * theBeam0Ring6Disc8NegAdcCounts;
00632 TH1D * theBeam0Ring6Disc9NegAdcCounts;
00633
00634
00635 TH1D * theBeam1Ring6Disc1NegAdcCounts;
00636 TH1D * theBeam1Ring6Disc2NegAdcCounts;
00637 TH1D * theBeam1Ring6Disc3NegAdcCounts;
00638 TH1D * theBeam1Ring6Disc4NegAdcCounts;
00639 TH1D * theBeam1Ring6Disc5NegAdcCounts;
00640 TH1D * theBeam1Ring6Disc6NegAdcCounts;
00641 TH1D * theBeam1Ring6Disc7NegAdcCounts;
00642 TH1D * theBeam1Ring6Disc8NegAdcCounts;
00643 TH1D * theBeam1Ring6Disc9NegAdcCounts;
00644
00645
00646 TH1D * theBeam2Ring6Disc1NegAdcCounts;
00647 TH1D * theBeam2Ring6Disc2NegAdcCounts;
00648 TH1D * theBeam2Ring6Disc3NegAdcCounts;
00649 TH1D * theBeam2Ring6Disc4NegAdcCounts;
00650 TH1D * theBeam2Ring6Disc5NegAdcCounts;
00651 TH1D * theBeam2Ring6Disc6NegAdcCounts;
00652 TH1D * theBeam2Ring6Disc7NegAdcCounts;
00653 TH1D * theBeam2Ring6Disc8NegAdcCounts;
00654 TH1D * theBeam2Ring6Disc9NegAdcCounts;
00655
00656
00657 TH1D * theBeam3Ring6Disc1NegAdcCounts;
00658 TH1D * theBeam3Ring6Disc2NegAdcCounts;
00659 TH1D * theBeam3Ring6Disc3NegAdcCounts;
00660 TH1D * theBeam3Ring6Disc4NegAdcCounts;
00661 TH1D * theBeam3Ring6Disc5NegAdcCounts;
00662 TH1D * theBeam3Ring6Disc6NegAdcCounts;
00663 TH1D * theBeam3Ring6Disc7NegAdcCounts;
00664 TH1D * theBeam3Ring6Disc8NegAdcCounts;
00665 TH1D * theBeam3Ring6Disc9NegAdcCounts;
00666
00667
00668 TH1D * theBeam4Ring6Disc1NegAdcCounts;
00669 TH1D * theBeam4Ring6Disc2NegAdcCounts;
00670 TH1D * theBeam4Ring6Disc3NegAdcCounts;
00671 TH1D * theBeam4Ring6Disc4NegAdcCounts;
00672 TH1D * theBeam4Ring6Disc5NegAdcCounts;
00673 TH1D * theBeam4Ring6Disc6NegAdcCounts;
00674 TH1D * theBeam4Ring6Disc7NegAdcCounts;
00675 TH1D * theBeam4Ring6Disc8NegAdcCounts;
00676 TH1D * theBeam4Ring6Disc9NegAdcCounts;
00677
00678
00679 TH1D * theBeam5Ring6Disc1NegAdcCounts;
00680 TH1D * theBeam5Ring6Disc2NegAdcCounts;
00681 TH1D * theBeam5Ring6Disc3NegAdcCounts;
00682 TH1D * theBeam5Ring6Disc4NegAdcCounts;
00683 TH1D * theBeam5Ring6Disc5NegAdcCounts;
00684 TH1D * theBeam5Ring6Disc6NegAdcCounts;
00685 TH1D * theBeam5Ring6Disc7NegAdcCounts;
00686 TH1D * theBeam5Ring6Disc8NegAdcCounts;
00687 TH1D * theBeam5Ring6Disc9NegAdcCounts;
00688
00689
00690 TH1D * theBeam6Ring6Disc1NegAdcCounts;
00691 TH1D * theBeam6Ring6Disc2NegAdcCounts;
00692 TH1D * theBeam6Ring6Disc3NegAdcCounts;
00693 TH1D * theBeam6Ring6Disc4NegAdcCounts;
00694 TH1D * theBeam6Ring6Disc5NegAdcCounts;
00695 TH1D * theBeam6Ring6Disc6NegAdcCounts;
00696 TH1D * theBeam6Ring6Disc7NegAdcCounts;
00697 TH1D * theBeam6Ring6Disc8NegAdcCounts;
00698 TH1D * theBeam6Ring6Disc9NegAdcCounts;
00699
00700
00701 TH1D * theBeam7Ring6Disc1NegAdcCounts;
00702 TH1D * theBeam7Ring6Disc2NegAdcCounts;
00703 TH1D * theBeam7Ring6Disc3NegAdcCounts;
00704 TH1D * theBeam7Ring6Disc4NegAdcCounts;
00705 TH1D * theBeam7Ring6Disc5NegAdcCounts;
00706 TH1D * theBeam7Ring6Disc6NegAdcCounts;
00707 TH1D * theBeam7Ring6Disc7NegAdcCounts;
00708 TH1D * theBeam7Ring6Disc8NegAdcCounts;
00709 TH1D * theBeam7Ring6Disc9NegAdcCounts;
00710
00711
00712
00713 TH1D * theBeam0TOBPosition1AdcCounts;
00714 TH1D * theBeam0TOBPosition2AdcCounts;
00715 TH1D * theBeam0TOBPosition3AdcCounts;
00716 TH1D * theBeam0TOBPosition4AdcCounts;
00717 TH1D * theBeam0TOBPosition5AdcCounts;
00718 TH1D * theBeam0TOBPosition6AdcCounts;
00719
00720
00721 TH1D * theBeam1TOBPosition1AdcCounts;
00722 TH1D * theBeam1TOBPosition2AdcCounts;
00723 TH1D * theBeam1TOBPosition3AdcCounts;
00724 TH1D * theBeam1TOBPosition4AdcCounts;
00725 TH1D * theBeam1TOBPosition5AdcCounts;
00726 TH1D * theBeam1TOBPosition6AdcCounts;
00727
00728
00729 TH1D * theBeam2TOBPosition1AdcCounts;
00730 TH1D * theBeam2TOBPosition2AdcCounts;
00731 TH1D * theBeam2TOBPosition3AdcCounts;
00732 TH1D * theBeam2TOBPosition4AdcCounts;
00733 TH1D * theBeam2TOBPosition5AdcCounts;
00734 TH1D * theBeam2TOBPosition6AdcCounts;
00735
00736
00737 TH1D * theBeam3TOBPosition1AdcCounts;
00738 TH1D * theBeam3TOBPosition2AdcCounts;
00739 TH1D * theBeam3TOBPosition3AdcCounts;
00740 TH1D * theBeam3TOBPosition4AdcCounts;
00741 TH1D * theBeam3TOBPosition5AdcCounts;
00742 TH1D * theBeam3TOBPosition6AdcCounts;
00743
00744
00745 TH1D * theBeam4TOBPosition1AdcCounts;
00746 TH1D * theBeam4TOBPosition2AdcCounts;
00747 TH1D * theBeam4TOBPosition3AdcCounts;
00748 TH1D * theBeam4TOBPosition4AdcCounts;
00749 TH1D * theBeam4TOBPosition5AdcCounts;
00750 TH1D * theBeam4TOBPosition6AdcCounts;
00751
00752
00753 TH1D * theBeam5TOBPosition1AdcCounts;
00754 TH1D * theBeam5TOBPosition2AdcCounts;
00755 TH1D * theBeam5TOBPosition3AdcCounts;
00756 TH1D * theBeam5TOBPosition4AdcCounts;
00757 TH1D * theBeam5TOBPosition5AdcCounts;
00758 TH1D * theBeam5TOBPosition6AdcCounts;
00759
00760
00761 TH1D * theBeam6TOBPosition1AdcCounts;
00762 TH1D * theBeam6TOBPosition2AdcCounts;
00763 TH1D * theBeam6TOBPosition3AdcCounts;
00764 TH1D * theBeam6TOBPosition4AdcCounts;
00765 TH1D * theBeam6TOBPosition5AdcCounts;
00766 TH1D * theBeam6TOBPosition6AdcCounts;
00767
00768
00769 TH1D * theBeam7TOBPosition1AdcCounts;
00770 TH1D * theBeam7TOBPosition2AdcCounts;
00771 TH1D * theBeam7TOBPosition3AdcCounts;
00772 TH1D * theBeam7TOBPosition4AdcCounts;
00773 TH1D * theBeam7TOBPosition5AdcCounts;
00774 TH1D * theBeam7TOBPosition6AdcCounts;
00775
00776
00777
00778 TH1D * theBeam0TIBPosition1AdcCounts;
00779 TH1D * theBeam0TIBPosition2AdcCounts;
00780 TH1D * theBeam0TIBPosition3AdcCounts;
00781 TH1D * theBeam0TIBPosition4AdcCounts;
00782 TH1D * theBeam0TIBPosition5AdcCounts;
00783 TH1D * theBeam0TIBPosition6AdcCounts;
00784
00785
00786 TH1D * theBeam1TIBPosition1AdcCounts;
00787 TH1D * theBeam1TIBPosition2AdcCounts;
00788 TH1D * theBeam1TIBPosition3AdcCounts;
00789 TH1D * theBeam1TIBPosition4AdcCounts;
00790 TH1D * theBeam1TIBPosition5AdcCounts;
00791 TH1D * theBeam1TIBPosition6AdcCounts;
00792
00793
00794 TH1D * theBeam2TIBPosition1AdcCounts;
00795 TH1D * theBeam2TIBPosition2AdcCounts;
00796 TH1D * theBeam2TIBPosition3AdcCounts;
00797 TH1D * theBeam2TIBPosition4AdcCounts;
00798 TH1D * theBeam2TIBPosition5AdcCounts;
00799 TH1D * theBeam2TIBPosition6AdcCounts;
00800
00801
00802 TH1D * theBeam3TIBPosition1AdcCounts;
00803 TH1D * theBeam3TIBPosition2AdcCounts;
00804 TH1D * theBeam3TIBPosition3AdcCounts;
00805 TH1D * theBeam3TIBPosition4AdcCounts;
00806 TH1D * theBeam3TIBPosition5AdcCounts;
00807 TH1D * theBeam3TIBPosition6AdcCounts;
00808
00809
00810 TH1D * theBeam4TIBPosition1AdcCounts;
00811 TH1D * theBeam4TIBPosition2AdcCounts;
00812 TH1D * theBeam4TIBPosition3AdcCounts;
00813 TH1D * theBeam4TIBPosition4AdcCounts;
00814 TH1D * theBeam4TIBPosition5AdcCounts;
00815 TH1D * theBeam4TIBPosition6AdcCounts;
00816
00817
00818 TH1D * theBeam5TIBPosition1AdcCounts;
00819 TH1D * theBeam5TIBPosition2AdcCounts;
00820 TH1D * theBeam5TIBPosition3AdcCounts;
00821 TH1D * theBeam5TIBPosition4AdcCounts;
00822 TH1D * theBeam5TIBPosition5AdcCounts;
00823 TH1D * theBeam5TIBPosition6AdcCounts;
00824
00825
00826 TH1D * theBeam6TIBPosition1AdcCounts;
00827 TH1D * theBeam6TIBPosition2AdcCounts;
00828 TH1D * theBeam6TIBPosition3AdcCounts;
00829 TH1D * theBeam6TIBPosition4AdcCounts;
00830 TH1D * theBeam6TIBPosition5AdcCounts;
00831 TH1D * theBeam6TIBPosition6AdcCounts;
00832
00833
00834 TH1D * theBeam7TIBPosition1AdcCounts;
00835 TH1D * theBeam7TIBPosition2AdcCounts;
00836 TH1D * theBeam7TIBPosition3AdcCounts;
00837 TH1D * theBeam7TIBPosition4AdcCounts;
00838 TH1D * theBeam7TIBPosition5AdcCounts;
00839 TH1D * theBeam7TIBPosition6AdcCounts;
00840
00841 };
00842 #endif