ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercialf purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/

/////////////////////////////////////////////////////
//
//  Monitor V0 for TRD
//
//  Authors:                                          
//  Markus Heide <mheide@uni-muenster.de> 
//////////////////////////////////////////////////////

#include "TObjArray.h"
#include "TH2.h"
#include "TH2F.h"
#include "TH1I.h"
#include "TCanvas.h"

#include "AliLog.h"
#include "AliESDtrack.h"
#include "AliPID.h"
#include "AliTRDv0Monitor.h"
#include "info/AliTRDv0Info.h"
#include "info/AliTRDeventInfo.h"


ClassImp(AliTRDv0Monitor)

//________________________________________________________________________
AliTRDv0Monitor::AliTRDv0Monitor() 
  :AliTRDrecoTask()
  ,fhQualityReductions(NULL)
  ,fV0s(NULL)
  ,fData(NULL)
  ,fInfo(NULL)
  ,fP(-1.) 
{
  //
  // Default constructor
  //
  SetNameTitle("TRDv0Monitor", "V0 Monitor for TRD PID");
}

//________________________________________________________________________
AliTRDv0Monitor::AliTRDv0Monitor(const char *name) 
  :AliTRDrecoTask(name, "V0 Monitor for TRD PID")
  ,fhQualityReductions(NULL)
  ,fV0s(NULL)
  ,fData(NULL)
  ,fInfo(NULL)
  ,fP(-1.)
{
  //
  // Default constructor
  //
  DefineInput(3, TObjArray::Class()); // v0 list
  DefineInput(4, TObjArray::Class()); // pid info list
}



// //____________________________________________________________________
// void AliTRDv0Monitor::MakeSummary(){//makes a summary with potentially nice reference figures
//   //TCanvas *cOut = new TCanvas("v0MonitorSummary1", "Summary 1 for task V0Monitor", 1024, 768);
//   //cOut->cd();
//   //GetRefFigure(4);
//   //cOut->SaveAs("V0MonitorSummary.gif");
// 
//   //cOut = new TCanvas("v0MonitorSummary2","Summary 2 for task V0Monitor", 1024, 768);
//   //cOut->cd();
//   //GetRefFigure(5);
//   //cOut->SaveAs("V0MonitorSummary2.gif");
// }

//________________________________________________________________________
Bool_t AliTRDv0Monitor::GetRefFigure(Int_t /*ifig*/)
{
  //creating reference figures

  AliInfo("Implementation on going ...");
  return kTRUE;
}

//________________________________________________________________________
TObjArray* AliTRDv0Monitor::Histos()
{
  // Create histograms
  // Called once
  if(fContainer) return fContainer;

  fContainer = new TObjArray(kNPlots); fContainer->SetOwner();
  fContainer->SetName("V0Monitoring");
  
  const char *samplename[AliPID::kSPECIES] = {"electrons","muons","pions","kaons","protons"};
  const char *decayname[AliTRDv0Info::kNDecays] = {"gamma","K0s","Lambda","AntiLambda"};
  const char *detectorname[kNDets] = {"ITS","TPC","TOF"};
  
  fhQualityReductions = new TH1I(Form("fhQualityReductions"),Form("Number of tracks cut out by different quality cut steps"),11,-9,2);
  fContainer->Add(fhQualityReductions);
  
  for(Int_t ipart = 0;ipart < AliPID::kSPECIES; ipart++){
    fhCutReductions[ipart] = new TH1I(Form("fhCutReductions_%s",samplename[ipart]),Form("Number of tracks cut out by different cut steps for %s",samplename[ipart]),19,-17,2);
    fContainer->Add(fhCutReductions[ipart]);
    for(Int_t idetector = 0; idetector < kNDets; idetector++){
      fhDetPID[idetector][ipart] = new TH2F(Form("fhDetector_%s_%s",detectorname[idetector],samplename[ipart]),Form("%s Likelihood for %s vs. momentum",detectorname[idetector], samplename[ipart]),100,0.,10.,100, 0., 1.);
  
      fContainer->Add(fhDetPID[idetector][ipart]);
    }
    fhComPID[ipart] = new TH2F(Form("fhComPID_%s",samplename[ipart]),Form("Combined TPC/TOF PID: Likelihood for %s",samplename[ipart]),100,0.,10.,100,0.,1.);
  
    fContainer->Add(fhComPID[ipart]);

    for(Int_t cutstep = 0; cutstep < kNCutSteps; cutstep++){
      fhTPCdEdx[ipart][cutstep] = new TH2F(Form("fhTPCdEdx_%s_[%d]",samplename[ipart],cutstep),Form("TPC dE/dx for %s [%d]",samplename[ipart],cutstep),100,0.,10.,300,0.,300.);
      
      fContainer->Add(fhTPCdEdx[ipart][cutstep]);
    }
  }
  
  for(Int_t iDecay = 0; iDecay < AliTRDv0Info::kNDecays; iDecay++){   
    for(Int_t cutstep =0; cutstep < kNCutSteps; cutstep++){
      fhV0Chi2ndf[iDecay][cutstep] =  new TH2F(Form("fhV0Chi2ndf_%s_[%d]",decayname[iDecay],cutstep),Form("Chi2/NDF vs. momentum"),100,0.,10.,500, 0., 500.);
      
      fContainer->Add(fhV0Chi2ndf[iDecay][cutstep]);
      
      fhPsiPair[iDecay][cutstep] =  new TH2F(Form("fhV0PsiPair_%s_[%d]",decayname[iDecay],cutstep),Form("Psi_pair vs. momentum"),100,0.,10.,200, 0., 1.6);
      
      fContainer->Add(fhPsiPair[iDecay][cutstep]);
  
      fhPointAngle[iDecay][cutstep] =  new TH2F(Form("fhPointAngle_%s_[%d]",decayname[iDecay],cutstep),Form("Pointing Angle vs. momentum"),100,0.,10.,500, 0., 1.6);     
      fContainer->Add(fhPointAngle[iDecay][cutstep]);
  
      fhDCA[iDecay][cutstep] =  new TH2F(Form("fhDCA_%s_[%d]",decayname[iDecay],cutstep),Form("V0 Daughter DCA vs. momentum"),100,0.,10.,500, 0., 1.);
      
      fContainer->Add(fhDCA[iDecay][cutstep]);
  
      fhOpenAngle[iDecay][cutstep] =  new TH2F(Form("fhOpenAngle_%s_[%d]",decayname[iDecay],cutstep),Form("Opening Angle vs. momentum"),100,0.,10.,500, 0., 1.6);
      
      fContainer->Add(fhOpenAngle[iDecay][cutstep]);
  
      fhRadius[iDecay][cutstep] =  new TH2F(Form("fhRadius_%s_[%d]",decayname[iDecay],cutstep),Form("V0 Generation Radius vs. momentum"),100,0.,10.,500, 0., 150.);
      
      fContainer->Add(fhRadius[iDecay][cutstep]);
    }
  
    fhInvMass[iDecay] =  new TH2F(Form("fhInvMass_%s",decayname[iDecay]),Form("Invariant Mass vs. momentum"),100,0.,10.,500, 0., 2.);
      
    fContainer->Add(fhInvMass[iDecay]); 
  } 

/*TH1F *hV0mcPID[AliPID::kSPECIES][AliPID::kSPECIES];
  Int_t nPBins = 200;
  
  
  
  for(Int_t iSpecies = 0; iSpecies < AliPID::kSPECIES; iSpecies++){
  for(Int_t iSample = 0; iSample < AliPID::kSPECIES; iSample++){
  
  fhV0mcPID[iSample][iSpecies] = new TH1F(Form("fhV0mcPID_%s_is_%s",name[iSample],name[iSpecies]),Form("%s contained in %s sample",name[iSpecies],name[iSample]), nPBins, 0.2, 13.);
  }
  }*/

  return fContainer;
}


//________________________________________________________________________
void AliTRDv0Monitor::UserExec(Option_t *) 
{
  // Main loop
  // Called for each event
  if(!(fTracks = dynamic_cast<TObjArray*>(GetInputData(1)))) return;
  if(!(fEvent  = dynamic_cast<AliTRDeventInfo*>(GetInputData(2)))) return;
  if(!(fV0s    = dynamic_cast<TObjArray*>(GetInputData(3)))) return;
  if(!(fInfo   = dynamic_cast<TObjArray*>(GetInputData(4)))) return;
  
  
  AliTRDtrackInfo     *track = NULL;
  AliTRDv0Info *v0(NULL);

  for(Int_t itrk=0; itrk<fTracks->GetEntriesFast(); itrk++){
    track = (AliTRDtrackInfo*)fTracks->UncheckedAt(itrk);
    for(Int_t iv(0); iv<fV0s->GetEntriesFast(); iv++){
      if(!(v0 = (AliTRDv0Info*)fV0s->At(iv))) continue;
      if(!v0->HasTrack(track)) continue;
      ULong_t status = track->GetStatus();
      if(!(status&AliESDtrack::kTRDpid)) continue;
      
      fhQualityReductions->Fill(v0->GetQuality());//fills integer codes for tracks cut out by track/V0 quality cuts
      
      if(!(v0->GetQuality() == 1)) continue;

      for(Int_t part = 0; part < AliPID::kSPECIES; part++){
        fhCutReductions[part]->Fill(v0->GetPID(part,track));//fill in numbers of tracks eliminated by different PID cuts
      }

    
      for(Int_t idecay(0), part(-1); idecay <  Int_t(AliTRDv0Info::kNDecays); idecay++){//loop over decay types considered for reference data
        switch(idecay){
        case AliTRDv0Info::kLambda: //protons and pions from Lambda
        case AliTRDv0Info::kAntiLambda: //antiprotons and pions from Anti-Lambda     
          part = AliPID::kProton;
          break;
        case AliTRDv0Info::kK0s: //pions from K0s
          part = AliPID::kPion;
          break;
        case  AliTRDv0Info::kGamma: //electrons from conversions
          part = AliPID::kElectron;
          break;
        }
        
        //fill histograms with track/V0 quality cuts only
        fhPsiPair[idecay][0]->Fill(v0->GetV0Momentum(),v0->GetPsiPair());//Angle between daughter momentum plane and plane perpendicular to magnetic field
        fhInvMass[idecay]->Fill(v0->GetV0Momentum(),v0->GetInvMass(idecay));//Invariant mass
        fhPointAngle[idecay][0]->Fill(v0->GetV0Momentum(),v0->GetPointingAngle());// = TMath::ACos(esdv0->GetV0CosineOfPointingAngle()); // Cosine of pointing angle
        fhOpenAngle[idecay][0]->Fill(v0->GetV0Momentum(),v0->GetOpenAngle());// opening angle between daughters
        fhDCA[idecay][0]->Fill(v0->GetV0Momentum(),v0->GetDCA());// Distance of closest approach of daughter tracks	
        fhV0Chi2ndf[idecay][0]->Fill(v0->GetV0Momentum(),v0->GetChi2ndf(idecay));//Kalman Filter Chi2/NDF
        fhRadius[idecay][0]->Fill(v0->GetV0Momentum(),v0->GetRadius());//distance of decay/conversion from primary vertex in x-y plane
      
        if(v0->HasTrack(track) == -1){	  
          fhTPCdEdx[part][0]->Fill(v0->GetV0Daughter(-1)->P(),v0->GetTPCdEdx(AliTRDv0Info::kNeg));//TPC dE/dx for negative track
        } else if(v0->HasTrack(track) == 1){
          fhTPCdEdx[part][0]->Fill(v0->GetV0Daughter(1)->P(),v0->GetTPCdEdx(AliTRDv0Info::kPos));//TPC dE/dx for positive track
        }
      
        //fill histograms after invariant mass cuts
        if((v0->GetInvMass(idecay) < v0->GetUpInvMass(idecay,0))&&(v0->GetInvMass(idecay)> v0->GetDownInvMass(idecay))){
          fhV0Chi2ndf[idecay][1]->Fill(v0->GetV0Momentum(),v0->GetChi2ndf(idecay));
          fhPsiPair[idecay][1]->Fill(v0->GetV0Momentum(),v0->GetPsiPair());
          fhPointAngle[idecay][1]->Fill(v0->GetV0Momentum(),v0->GetPointingAngle());
          fhOpenAngle[idecay][1]->Fill(v0->GetV0Momentum(),v0->GetOpenAngle());
          fhDCA[idecay][1]->Fill(v0->GetV0Momentum(),v0->GetDCA());
          fhRadius[idecay][1]->Fill(v0->GetV0Momentum(),v0->GetRadius());
          if(v0->HasTrack(track) == -1)
            fhTPCdEdx[part][1]->Fill(v0->GetV0Daughter(-1)->P(),v0->GetTPCdEdx(AliTRDv0Info::kNeg));
          else if(v0->HasTrack(track) == 1)
            fhTPCdEdx[part][1]->Fill(v0->GetV0Daughter(1)->P(),v0->GetTPCdEdx(AliTRDv0Info::kPos));
      
        }

        //fill histograms after all reference selection cuts
        if(v0->GetPID(part,track)==1){
          fhV0Chi2ndf[idecay][2]->Fill(v0->GetV0Momentum(),v0->GetChi2ndf(idecay));
          fhPsiPair[idecay][2]->Fill(v0->GetV0Momentum(),v0->GetPsiPair());
          fhPointAngle[idecay][2]->Fill(v0->GetV0Momentum(),v0->GetPointingAngle());
          fhOpenAngle[idecay][2]->Fill(v0->GetV0Momentum(),v0->GetOpenAngle());
          fhDCA[idecay][2]->Fill(v0->GetV0Momentum(),v0->GetDCA());
          fhRadius[idecay][2]->Fill(v0->GetV0Momentum(),v0->GetRadius());
          if(v0->HasTrack(track) == -1)
            fhTPCdEdx[part][2]->Fill(v0->GetV0Daughter(-1)->P(),v0->GetTPCdEdx(AliTRDv0Info::kNeg));
          else if(v0->HasTrack(track) == 1)
            fhTPCdEdx[part][2]->Fill(v0->GetV0Daughter(1)->P(),v0->GetTPCdEdx(AliTRDv0Info::kPos));
        }
      }
    }
  }
}
 AliTRDv0Monitor.cxx:1
 AliTRDv0Monitor.cxx:2
 AliTRDv0Monitor.cxx:3
 AliTRDv0Monitor.cxx:4
 AliTRDv0Monitor.cxx:5
 AliTRDv0Monitor.cxx:6
 AliTRDv0Monitor.cxx:7
 AliTRDv0Monitor.cxx:8
 AliTRDv0Monitor.cxx:9
 AliTRDv0Monitor.cxx:10
 AliTRDv0Monitor.cxx:11
 AliTRDv0Monitor.cxx:12
 AliTRDv0Monitor.cxx:13
 AliTRDv0Monitor.cxx:14
 AliTRDv0Monitor.cxx:15
 AliTRDv0Monitor.cxx:16
 AliTRDv0Monitor.cxx:17
 AliTRDv0Monitor.cxx:18
 AliTRDv0Monitor.cxx:19
 AliTRDv0Monitor.cxx:20
 AliTRDv0Monitor.cxx:21
 AliTRDv0Monitor.cxx:22
 AliTRDv0Monitor.cxx:23
 AliTRDv0Monitor.cxx:24
 AliTRDv0Monitor.cxx:25
 AliTRDv0Monitor.cxx:26
 AliTRDv0Monitor.cxx:27
 AliTRDv0Monitor.cxx:28
 AliTRDv0Monitor.cxx:29
 AliTRDv0Monitor.cxx:30
 AliTRDv0Monitor.cxx:31
 AliTRDv0Monitor.cxx:32
 AliTRDv0Monitor.cxx:33
 AliTRDv0Monitor.cxx:34
 AliTRDv0Monitor.cxx:35
 AliTRDv0Monitor.cxx:36
 AliTRDv0Monitor.cxx:37
 AliTRDv0Monitor.cxx:38
 AliTRDv0Monitor.cxx:39
 AliTRDv0Monitor.cxx:40
 AliTRDv0Monitor.cxx:41
 AliTRDv0Monitor.cxx:42
 AliTRDv0Monitor.cxx:43
 AliTRDv0Monitor.cxx:44
 AliTRDv0Monitor.cxx:45
 AliTRDv0Monitor.cxx:46
 AliTRDv0Monitor.cxx:47
 AliTRDv0Monitor.cxx:48
 AliTRDv0Monitor.cxx:49
 AliTRDv0Monitor.cxx:50
 AliTRDv0Monitor.cxx:51
 AliTRDv0Monitor.cxx:52
 AliTRDv0Monitor.cxx:53
 AliTRDv0Monitor.cxx:54
 AliTRDv0Monitor.cxx:55
 AliTRDv0Monitor.cxx:56
 AliTRDv0Monitor.cxx:57
 AliTRDv0Monitor.cxx:58
 AliTRDv0Monitor.cxx:59
 AliTRDv0Monitor.cxx:60
 AliTRDv0Monitor.cxx:61
 AliTRDv0Monitor.cxx:62
 AliTRDv0Monitor.cxx:63
 AliTRDv0Monitor.cxx:64
 AliTRDv0Monitor.cxx:65
 AliTRDv0Monitor.cxx:66
 AliTRDv0Monitor.cxx:67
 AliTRDv0Monitor.cxx:68
 AliTRDv0Monitor.cxx:69
 AliTRDv0Monitor.cxx:70
 AliTRDv0Monitor.cxx:71
 AliTRDv0Monitor.cxx:72
 AliTRDv0Monitor.cxx:73
 AliTRDv0Monitor.cxx:74
 AliTRDv0Monitor.cxx:75
 AliTRDv0Monitor.cxx:76
 AliTRDv0Monitor.cxx:77
 AliTRDv0Monitor.cxx:78
 AliTRDv0Monitor.cxx:79
 AliTRDv0Monitor.cxx:80
 AliTRDv0Monitor.cxx:81
 AliTRDv0Monitor.cxx:82
 AliTRDv0Monitor.cxx:83
 AliTRDv0Monitor.cxx:84
 AliTRDv0Monitor.cxx:85
 AliTRDv0Monitor.cxx:86
 AliTRDv0Monitor.cxx:87
 AliTRDv0Monitor.cxx:88
 AliTRDv0Monitor.cxx:89
 AliTRDv0Monitor.cxx:90
 AliTRDv0Monitor.cxx:91
 AliTRDv0Monitor.cxx:92
 AliTRDv0Monitor.cxx:93
 AliTRDv0Monitor.cxx:94
 AliTRDv0Monitor.cxx:95
 AliTRDv0Monitor.cxx:96
 AliTRDv0Monitor.cxx:97
 AliTRDv0Monitor.cxx:98
 AliTRDv0Monitor.cxx:99
 AliTRDv0Monitor.cxx:100
 AliTRDv0Monitor.cxx:101
 AliTRDv0Monitor.cxx:102
 AliTRDv0Monitor.cxx:103
 AliTRDv0Monitor.cxx:104
 AliTRDv0Monitor.cxx:105
 AliTRDv0Monitor.cxx:106
 AliTRDv0Monitor.cxx:107
 AliTRDv0Monitor.cxx:108
 AliTRDv0Monitor.cxx:109
 AliTRDv0Monitor.cxx:110
 AliTRDv0Monitor.cxx:111
 AliTRDv0Monitor.cxx:112
 AliTRDv0Monitor.cxx:113
 AliTRDv0Monitor.cxx:114
 AliTRDv0Monitor.cxx:115
 AliTRDv0Monitor.cxx:116
 AliTRDv0Monitor.cxx:117
 AliTRDv0Monitor.cxx:118
 AliTRDv0Monitor.cxx:119
 AliTRDv0Monitor.cxx:120
 AliTRDv0Monitor.cxx:121
 AliTRDv0Monitor.cxx:122
 AliTRDv0Monitor.cxx:123
 AliTRDv0Monitor.cxx:124
 AliTRDv0Monitor.cxx:125
 AliTRDv0Monitor.cxx:126
 AliTRDv0Monitor.cxx:127
 AliTRDv0Monitor.cxx:128
 AliTRDv0Monitor.cxx:129
 AliTRDv0Monitor.cxx:130
 AliTRDv0Monitor.cxx:131
 AliTRDv0Monitor.cxx:132
 AliTRDv0Monitor.cxx:133
 AliTRDv0Monitor.cxx:134
 AliTRDv0Monitor.cxx:135
 AliTRDv0Monitor.cxx:136
 AliTRDv0Monitor.cxx:137
 AliTRDv0Monitor.cxx:138
 AliTRDv0Monitor.cxx:139
 AliTRDv0Monitor.cxx:140
 AliTRDv0Monitor.cxx:141
 AliTRDv0Monitor.cxx:142
 AliTRDv0Monitor.cxx:143
 AliTRDv0Monitor.cxx:144
 AliTRDv0Monitor.cxx:145
 AliTRDv0Monitor.cxx:146
 AliTRDv0Monitor.cxx:147
 AliTRDv0Monitor.cxx:148
 AliTRDv0Monitor.cxx:149
 AliTRDv0Monitor.cxx:150
 AliTRDv0Monitor.cxx:151
 AliTRDv0Monitor.cxx:152
 AliTRDv0Monitor.cxx:153
 AliTRDv0Monitor.cxx:154
 AliTRDv0Monitor.cxx:155
 AliTRDv0Monitor.cxx:156
 AliTRDv0Monitor.cxx:157
 AliTRDv0Monitor.cxx:158
 AliTRDv0Monitor.cxx:159
 AliTRDv0Monitor.cxx:160
 AliTRDv0Monitor.cxx:161
 AliTRDv0Monitor.cxx:162
 AliTRDv0Monitor.cxx:163
 AliTRDv0Monitor.cxx:164
 AliTRDv0Monitor.cxx:165
 AliTRDv0Monitor.cxx:166
 AliTRDv0Monitor.cxx:167
 AliTRDv0Monitor.cxx:168
 AliTRDv0Monitor.cxx:169
 AliTRDv0Monitor.cxx:170
 AliTRDv0Monitor.cxx:171
 AliTRDv0Monitor.cxx:172
 AliTRDv0Monitor.cxx:173
 AliTRDv0Monitor.cxx:174
 AliTRDv0Monitor.cxx:175
 AliTRDv0Monitor.cxx:176
 AliTRDv0Monitor.cxx:177
 AliTRDv0Monitor.cxx:178
 AliTRDv0Monitor.cxx:179
 AliTRDv0Monitor.cxx:180
 AliTRDv0Monitor.cxx:181
 AliTRDv0Monitor.cxx:182
 AliTRDv0Monitor.cxx:183
 AliTRDv0Monitor.cxx:184
 AliTRDv0Monitor.cxx:185
 AliTRDv0Monitor.cxx:186
 AliTRDv0Monitor.cxx:187
 AliTRDv0Monitor.cxx:188
 AliTRDv0Monitor.cxx:189
 AliTRDv0Monitor.cxx:190
 AliTRDv0Monitor.cxx:191
 AliTRDv0Monitor.cxx:192
 AliTRDv0Monitor.cxx:193
 AliTRDv0Monitor.cxx:194
 AliTRDv0Monitor.cxx:195
 AliTRDv0Monitor.cxx:196
 AliTRDv0Monitor.cxx:197
 AliTRDv0Monitor.cxx:198
 AliTRDv0Monitor.cxx:199
 AliTRDv0Monitor.cxx:200
 AliTRDv0Monitor.cxx:201
 AliTRDv0Monitor.cxx:202
 AliTRDv0Monitor.cxx:203
 AliTRDv0Monitor.cxx:204
 AliTRDv0Monitor.cxx:205
 AliTRDv0Monitor.cxx:206
 AliTRDv0Monitor.cxx:207
 AliTRDv0Monitor.cxx:208
 AliTRDv0Monitor.cxx:209
 AliTRDv0Monitor.cxx:210
 AliTRDv0Monitor.cxx:211
 AliTRDv0Monitor.cxx:212
 AliTRDv0Monitor.cxx:213
 AliTRDv0Monitor.cxx:214
 AliTRDv0Monitor.cxx:215
 AliTRDv0Monitor.cxx:216
 AliTRDv0Monitor.cxx:217
 AliTRDv0Monitor.cxx:218
 AliTRDv0Monitor.cxx:219
 AliTRDv0Monitor.cxx:220
 AliTRDv0Monitor.cxx:221
 AliTRDv0Monitor.cxx:222
 AliTRDv0Monitor.cxx:223
 AliTRDv0Monitor.cxx:224
 AliTRDv0Monitor.cxx:225
 AliTRDv0Monitor.cxx:226
 AliTRDv0Monitor.cxx:227
 AliTRDv0Monitor.cxx:228
 AliTRDv0Monitor.cxx:229
 AliTRDv0Monitor.cxx:230
 AliTRDv0Monitor.cxx:231
 AliTRDv0Monitor.cxx:232
 AliTRDv0Monitor.cxx:233
 AliTRDv0Monitor.cxx:234
 AliTRDv0Monitor.cxx:235
 AliTRDv0Monitor.cxx:236
 AliTRDv0Monitor.cxx:237
 AliTRDv0Monitor.cxx:238
 AliTRDv0Monitor.cxx:239
 AliTRDv0Monitor.cxx:240
 AliTRDv0Monitor.cxx:241
 AliTRDv0Monitor.cxx:242
 AliTRDv0Monitor.cxx:243
 AliTRDv0Monitor.cxx:244
 AliTRDv0Monitor.cxx:245
 AliTRDv0Monitor.cxx:246
 AliTRDv0Monitor.cxx:247
 AliTRDv0Monitor.cxx:248
 AliTRDv0Monitor.cxx:249
 AliTRDv0Monitor.cxx:250
 AliTRDv0Monitor.cxx:251
 AliTRDv0Monitor.cxx:252
 AliTRDv0Monitor.cxx:253
 AliTRDv0Monitor.cxx:254
 AliTRDv0Monitor.cxx:255
 AliTRDv0Monitor.cxx:256
 AliTRDv0Monitor.cxx:257
 AliTRDv0Monitor.cxx:258
 AliTRDv0Monitor.cxx:259
 AliTRDv0Monitor.cxx:260
 AliTRDv0Monitor.cxx:261
 AliTRDv0Monitor.cxx:262
 AliTRDv0Monitor.cxx:263
 AliTRDv0Monitor.cxx:264
 AliTRDv0Monitor.cxx:265
 AliTRDv0Monitor.cxx:266
 AliTRDv0Monitor.cxx:267
 AliTRDv0Monitor.cxx:268
 AliTRDv0Monitor.cxx:269