//_____________________________________________________________________________
Int_t AliTRDdisplayDigits3D(Int_t event = 0, Int_t thresh = 4
, Bool_t sdigits = kFALSE)
{
//
// TRD digits display
//
// Input parameter:
// <event> : Event number
// <thresh> : Threshold to suppress the noise
// <sdigits> : If kTRUE it will display summable digits, normal digits otherwise.
// The signal event is displayed in yellow.
//
Char_t *inputFile = "galice.root";
// Define the objects
AliTRDv1 *trd;
AliTRDgeometry *geo;
TString evfoldname = AliConfig::GetDefaultEventFolderName();
AliRunLoader *runLoader = AliRunLoader::GetRunLoader(evfoldname);
if (!runLoader) {
runLoader = AliRunLoader::Open(inputFile
,AliConfig::GetDefaultEventFolderName()
,"UPDATE");
}
if (!runLoader) {
printf("Can not open session for file %s.",inputFile);
return kFALSE;
}
if (!runLoader->GetAliRun()) {
runLoader->LoadgAlice();
}
gAlice = runLoader->GetAliRun();
if (!gAlice) {
printf("Could not find AliRun object.\n");
return kFALSE;
}
runLoader->GetEvent(event);
AliLoader *loader = runLoader->GetLoader("TRDLoader");
if (!loader) {
printf("Can not get TRD loader from Run Loader");
}
loader->LoadDigits();
// Get the pointer to the detector object
trd = (AliTRDv1*) gAlice->GetDetector("TRD");
// Get the pointer to the geometry object
if (trd) {
geo = trd->GetGeometry();
}
else {
printf("Cannot find the geometry\n");
return 1;
}
AliCDBManager *cdbManager = AliCDBManager::Instance();
cdbManager->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
AliTRDcalibDB *calibration = AliTRDcalibDB::Instance();
calibration->SetRun(0);
TCanvas *c1 = new TCanvas("digits","TRD digits display",0,0,700,730);
TView *v = new TView(1);
v->SetRange(-430,-560,-430,430,560,1710);
v->SetParallel();
c1->Clear();
c1->SetFillColor(1);
c1->SetTheta(90.0);
c1->SetPhi(0.0);
Int_t markerColorSignal = 2;
Int_t markerColorBgnd = 7;
Int_t markerColorMerged = 5;
Int_t mask = 10000000;
// Create the digits manager
AliTRDdigitsManager *digitsManager = new AliTRDdigitsManager();
digitsManager->SetSDigits(sdigits);
// Read the digits from the file
if (sdigits) {
digitsManager->ReadDigits(loader->TreeS());
}
else {
if (!loader->TreeD()) {
printf("mist\n");
return kFALSE;
}
digitsManager->ReadDigits(loader->TreeD());
}
Int_t totalsignal = 0;
Int_t totalbgnd = 0;
Int_t totalmerged = 0;
Int_t timeMax = calibration->GetNumberOfTimeBins();
// Loop through all detectors
for (Int_t idet = 0; idet < geo->Ndet(); idet++) {
printf("<AliTRDdisplayDigits3D> Loading detector %d\n",idet);
AliTRDdataArrayI *digits = digitsManager->GetDigits(idet);
digits->Expand();
Int_t isec = geo->GetSector(idet);
Int_t icha = geo->GetChamber(idet);
Int_t ipla = geo->GetPlane(idet);
AliTRDpadPlane *padPlane = new AliTRDpadPlane(ipla,icha);
Int_t rowMax = padPlane->GetNrows();
Int_t colMax = padPlane->GetNcols();
Int_t ndigits = digits->GetOverThreshold(thresh);
if (ndigits > 0) {
TPolyMarker3D *pmSignal = new TPolyMarker3D(ndigits);
Int_t isignal = 0;
for (Int_t time = 0; time < timeMax; time++) {
for (Int_t col = 0; col < colMax; col++) {
for (Int_t row = 0; row < rowMax; row++) {
Int_t amp = digits->GetDataUnchecked(row,col,time);
if (amp > thresh) {
Double_t glb[3];
Double_t loc[3];
loc[0] = row;
loc[1] = col;
loc[2] = time;
geo->Local2Global(idet,loc,glb);
Double_t x = glb[0];
Double_t y = glb[1];
Double_t z = glb[2];
pmSignal->SetPoint(isignal,x,y,z);
isignal++;
totalsignal++;
}
}
}
}
digits->Compress(1,0);
pmSignal->SetMarkerSize(1);
pmSignal->SetMarkerColor(markerColorSignal);
pmSignal->SetMarkerStyle(1);
pmSignal->Draw();
}
}
delete padPlane;
TGeometry *geoAlice = gAlice->GetGeometry();
TNode *main = (TNode *) ((geoAlice->GetListOfNodes())->First());
TIter next(main->GetListOfNodes());
TNode *module = 0;
while ((module = (TNode *) next())) {
Char_t ch[100];
sprintf(ch,"%s\n",module->GetTitle());
if ((ch[0] == 'T') && ((ch[1] == 'R') || (ch[1] == 'P'))) {
module->SetVisibility( 3);
}
else {
module->SetVisibility(-1);
}
}
geoAlice->Draw("same");
c1->Modified();
c1->Update();
return 0;
}
AliTRDdisplayDigits3D.C:1 AliTRDdisplayDigits3D.C:2 AliTRDdisplayDigits3D.C:3 AliTRDdisplayDigits3D.C:4 AliTRDdisplayDigits3D.C:5 AliTRDdisplayDigits3D.C:6 AliTRDdisplayDigits3D.C:7 AliTRDdisplayDigits3D.C:8 AliTRDdisplayDigits3D.C:9 AliTRDdisplayDigits3D.C:10 AliTRDdisplayDigits3D.C:11 AliTRDdisplayDigits3D.C:12 AliTRDdisplayDigits3D.C:13 AliTRDdisplayDigits3D.C:14 AliTRDdisplayDigits3D.C:15 AliTRDdisplayDigits3D.C:16 AliTRDdisplayDigits3D.C:17 AliTRDdisplayDigits3D.C:18 AliTRDdisplayDigits3D.C:19 AliTRDdisplayDigits3D.C:20 AliTRDdisplayDigits3D.C:21 AliTRDdisplayDigits3D.C:22 AliTRDdisplayDigits3D.C:23 AliTRDdisplayDigits3D.C:24 AliTRDdisplayDigits3D.C:25 AliTRDdisplayDigits3D.C:26 AliTRDdisplayDigits3D.C:27 AliTRDdisplayDigits3D.C:28 AliTRDdisplayDigits3D.C:29 AliTRDdisplayDigits3D.C:30 AliTRDdisplayDigits3D.C:31 AliTRDdisplayDigits3D.C:32 AliTRDdisplayDigits3D.C:33 AliTRDdisplayDigits3D.C:34 AliTRDdisplayDigits3D.C:35 AliTRDdisplayDigits3D.C:36 AliTRDdisplayDigits3D.C:37 AliTRDdisplayDigits3D.C:38 AliTRDdisplayDigits3D.C:39 AliTRDdisplayDigits3D.C:40 AliTRDdisplayDigits3D.C:41 AliTRDdisplayDigits3D.C:42 AliTRDdisplayDigits3D.C:43 AliTRDdisplayDigits3D.C:44 AliTRDdisplayDigits3D.C:45 AliTRDdisplayDigits3D.C:46 AliTRDdisplayDigits3D.C:47 AliTRDdisplayDigits3D.C:48 AliTRDdisplayDigits3D.C:49 AliTRDdisplayDigits3D.C:50 AliTRDdisplayDigits3D.C:51 AliTRDdisplayDigits3D.C:52 AliTRDdisplayDigits3D.C:53 AliTRDdisplayDigits3D.C:54 AliTRDdisplayDigits3D.C:55 AliTRDdisplayDigits3D.C:56 AliTRDdisplayDigits3D.C:57 AliTRDdisplayDigits3D.C:58 AliTRDdisplayDigits3D.C:59 AliTRDdisplayDigits3D.C:60 AliTRDdisplayDigits3D.C:61 AliTRDdisplayDigits3D.C:62 AliTRDdisplayDigits3D.C:63 AliTRDdisplayDigits3D.C:64 AliTRDdisplayDigits3D.C:65 AliTRDdisplayDigits3D.C:66 AliTRDdisplayDigits3D.C:67 AliTRDdisplayDigits3D.C:68 AliTRDdisplayDigits3D.C:69 AliTRDdisplayDigits3D.C:70 AliTRDdisplayDigits3D.C:71 AliTRDdisplayDigits3D.C:72 AliTRDdisplayDigits3D.C:73 AliTRDdisplayDigits3D.C:74 AliTRDdisplayDigits3D.C:75 AliTRDdisplayDigits3D.C:76 AliTRDdisplayDigits3D.C:77 AliTRDdisplayDigits3D.C:78 AliTRDdisplayDigits3D.C:79 AliTRDdisplayDigits3D.C:80 AliTRDdisplayDigits3D.C:81 AliTRDdisplayDigits3D.C:82 AliTRDdisplayDigits3D.C:83 AliTRDdisplayDigits3D.C:84 AliTRDdisplayDigits3D.C:85 AliTRDdisplayDigits3D.C:86 AliTRDdisplayDigits3D.C:87 AliTRDdisplayDigits3D.C:88 AliTRDdisplayDigits3D.C:89 AliTRDdisplayDigits3D.C:90 AliTRDdisplayDigits3D.C:91 AliTRDdisplayDigits3D.C:92 AliTRDdisplayDigits3D.C:93 AliTRDdisplayDigits3D.C:94 AliTRDdisplayDigits3D.C:95 AliTRDdisplayDigits3D.C:96 AliTRDdisplayDigits3D.C:97 AliTRDdisplayDigits3D.C:98 AliTRDdisplayDigits3D.C:99 AliTRDdisplayDigits3D.C:100 AliTRDdisplayDigits3D.C:101 AliTRDdisplayDigits3D.C:102 AliTRDdisplayDigits3D.C:103 AliTRDdisplayDigits3D.C:104 AliTRDdisplayDigits3D.C:105 AliTRDdisplayDigits3D.C:106 AliTRDdisplayDigits3D.C:107 AliTRDdisplayDigits3D.C:108 AliTRDdisplayDigits3D.C:109 AliTRDdisplayDigits3D.C:110 AliTRDdisplayDigits3D.C:111 AliTRDdisplayDigits3D.C:112 AliTRDdisplayDigits3D.C:113 AliTRDdisplayDigits3D.C:114 AliTRDdisplayDigits3D.C:115 AliTRDdisplayDigits3D.C:116 AliTRDdisplayDigits3D.C:117 AliTRDdisplayDigits3D.C:118 AliTRDdisplayDigits3D.C:119 AliTRDdisplayDigits3D.C:120 AliTRDdisplayDigits3D.C:121 AliTRDdisplayDigits3D.C:122 AliTRDdisplayDigits3D.C:123 AliTRDdisplayDigits3D.C:124 AliTRDdisplayDigits3D.C:125 AliTRDdisplayDigits3D.C:126 AliTRDdisplayDigits3D.C:127 AliTRDdisplayDigits3D.C:128 AliTRDdisplayDigits3D.C:129 AliTRDdisplayDigits3D.C:130 AliTRDdisplayDigits3D.C:131 AliTRDdisplayDigits3D.C:132 AliTRDdisplayDigits3D.C:133 AliTRDdisplayDigits3D.C:134 AliTRDdisplayDigits3D.C:135 AliTRDdisplayDigits3D.C:136 AliTRDdisplayDigits3D.C:137 AliTRDdisplayDigits3D.C:138 AliTRDdisplayDigits3D.C:139 AliTRDdisplayDigits3D.C:140 AliTRDdisplayDigits3D.C:141 AliTRDdisplayDigits3D.C:142 AliTRDdisplayDigits3D.C:143 AliTRDdisplayDigits3D.C:144 AliTRDdisplayDigits3D.C:145 AliTRDdisplayDigits3D.C:146 AliTRDdisplayDigits3D.C:147 AliTRDdisplayDigits3D.C:148 AliTRDdisplayDigits3D.C:149 AliTRDdisplayDigits3D.C:150 AliTRDdisplayDigits3D.C:151 AliTRDdisplayDigits3D.C:152 AliTRDdisplayDigits3D.C:153 AliTRDdisplayDigits3D.C:154 AliTRDdisplayDigits3D.C:155 AliTRDdisplayDigits3D.C:156 AliTRDdisplayDigits3D.C:157 AliTRDdisplayDigits3D.C:158 AliTRDdisplayDigits3D.C:159 AliTRDdisplayDigits3D.C:160 AliTRDdisplayDigits3D.C:161 AliTRDdisplayDigits3D.C:162 AliTRDdisplayDigits3D.C:163 AliTRDdisplayDigits3D.C:164 AliTRDdisplayDigits3D.C:165 AliTRDdisplayDigits3D.C:166 AliTRDdisplayDigits3D.C:167 AliTRDdisplayDigits3D.C:168 AliTRDdisplayDigits3D.C:169 AliTRDdisplayDigits3D.C:170 AliTRDdisplayDigits3D.C:171 AliTRDdisplayDigits3D.C:172 AliTRDdisplayDigits3D.C:173 AliTRDdisplayDigits3D.C:174 AliTRDdisplayDigits3D.C:175 AliTRDdisplayDigits3D.C:176 AliTRDdisplayDigits3D.C:177 AliTRDdisplayDigits3D.C:178 AliTRDdisplayDigits3D.C:179 AliTRDdisplayDigits3D.C:180 AliTRDdisplayDigits3D.C:181 AliTRDdisplayDigits3D.C:182 AliTRDdisplayDigits3D.C:183 AliTRDdisplayDigits3D.C:184 AliTRDdisplayDigits3D.C:185 AliTRDdisplayDigits3D.C:186 AliTRDdisplayDigits3D.C:187 AliTRDdisplayDigits3D.C:188 AliTRDdisplayDigits3D.C:189