ROOT logo
void TestPreprocessor()
{
  gSystem->Load("libT0shuttle.so");
  gSystem->Load("$ALICE_ROOT/SHUTTLE/TestShuttle/libTestShuttle.so");
  gSystem->Load("libSpectrum");


  AliTestShuttle::SetMainCDB("local://./TestCDB");
  AliTestShuttle::SetLocalCDB("local://./TestCDB");

  AliTestShuttle::SetMainRefStorage("local://./TestRef");
  AliTestShuttle::SetLocalRefStorage("local://./TestRef");

  AliTestShuttle* shuttle = new AliTestShuttle(104890, 0, 1);

 TMap* dcsAliasMap = CreateDCSAliasMap();



  shuttle->SetDCSInput(dcsAliasMap);

 shuttle->SetInputRunType("AMPLITUDE_CALIBRATION");
 
 //shuttle->AddInputFile(AliTestShuttle::kDAQ, "T00", "AMPLITUDE_CALIBRATION", "LDC0","daLaser.root");
   shuttle->SetInputRunType("PHYSICS");

  shuttle->AddInputFile(AliTestShuttle::kDAQ, "T00", "PHYSICS", "LDC0", "daPhys.root");

  AliPreprocessor* start = new AliT0Preprocessor(shuttle);

  shuttle->Process();
}

TMap* CreateDCSAliasMap()
{
  TMap* aliasMap = new TMap;
  aliasMap->SetOwner(1);

  TString aliasName;
  Int_t n_T0aliases=201;
  Int_t nValues=10;	
  
  for(int nAlias=0;nAlias<n_T0aliases;nAlias++)
  {
    TObjArray* valueSet = new TObjArray;
    valueSet->SetOwner(1);
    if(nAlias < 32)
    {			
      aliasName=Form("t00_ac_scaler_%02d",nAlias);
    }
    else if(nAlias < 64)
    {
      aliasName=Form("t00_ac_scaler_sec_%02d",nAlias-32);
    }
    else if(nAlias < 76)
    {
      aliasName=Form("t00_a_hv_imon_%02d",nAlias-64);
    }
    else if(nAlias < 88)
    {
      aliasName=Form("t00_a_hv_vmon_%02d",nAlias-76);
    }
    else if(nAlias < 90)
    {
      aliasName=Form("t00_a_lv_imon_%01d",nAlias-88);
    }
    else if(nAlias < 92)
    {
      aliasName=Form("t00_a_lv_vmon_%01d",nAlias-90);
    }
    else if(nAlias < 104)
    {
      aliasName=Form("t00_c_hv_imon_%02d",nAlias-92);
    }
    else if(nAlias < 116)
    {
      aliasName=Form("t00_c_hv_vmon_%02d",nAlias-104);
    }
    else if(nAlias < 118)
    {
      aliasName=Form("t00_c_lv_imon_%01d",nAlias-116);
    }
    else if(nAlias < 120)
    {
      aliasName=Form("t00_c_lv_vmon_%01d",nAlias-118);
    }
    else if(nAlias < 132)
    {
      aliasName=Form("t00_a_cfd_thre_%02d",nAlias-120);
    }
    else if(nAlias < 144)
    {
      aliasName=Form("t00_a_cfd_walk_%02d",nAlias-132);
    }
    else if(nAlias < 156)
    {
      aliasName=Form("t00_c_cfd_thre_%02d",nAlias-144);
    }
    else if(nAlias < 168)
    {
      aliasName=Form("t00_c_cfd_walk_%02d",nAlias-156);
    }
    else if(nAlias < 188)
    {
      aliasName=Form("t00_ac_trm_%02d",nAlias-168);
    }
    else if(nAlias < 193)
    {
      aliasName=Form("t00_ac_drm_%02d",nAlias-188);
    }
    else if (nAlias < 194)
    {
      aliasName=Form("t00_ac_atten");
    }
    else if(nAlias < 195)
    {
      aliasName=Form("t00_a_mpd_cent");
    }
    else if(nAlias < 196)
    {
      aliasName=Form("t00_c_mpd_cent");
    }
    else if(nAlias < 197)
    {
      aliasName=Form("t00_a_mpd_scent");
    }
    else if(nAlias < 198)
    {
      aliasName=Form("t00_c_mpd_scent");
    }
    else if(nAlias < 199)
    {
      aliasName=Form("t00_ac_tvdc_top");
    }
    else if(nAlias < 200)
    {
      aliasName=Form("t00_ac_tvdc_bottom");
    }
    else
    {
      aliasName=Form("t00_ac_mpd_mode");		
    }

    for (int timeStamp=0;timeStamp<nValues;timeStamp++)
    {
      //CHIARA's original // AliDCSValue* dcsVal = new AliDCSValue((Float_t) gRandom->Gaus(3.0e8,50), timeStamp);
      AliDCSValue* dcsVal = new AliDCSValue((Float_t) gRandom->Gaus(3.0e3,50), timeStamp);
      valueSet->Add(dcsVal);

      printf("Alias: %s - value n. %d: (val=%d timestamp=%d)\n" ,
    	    aliasName.Data(), timeStamp, dcsVal->GetFloat(), dcsVal->GetTimeStamp());
    }
    aliasMap->Add(new TObjString(aliasName), valueSet);

  }

  return aliasMap;
}

TMap* ReadDCSAliasMap()
{
  AliCDBEntry *entry = AliCDBManager::Instance()->Get("DET/DCS/Data", 0);
  return dynamic_cast<TMap*> (entry->GetObject());
}

void WriteDCSAliasMap()
{
  TMap* dcsAliasMap = CreateDCSAliasMap();

  AliCDBMetaData metaData;
	metaData.SetBeamPeriod(0);
	metaData.SetResponsible("Tomek");
	metaData.SetComment("Test object for TestPreprocessor.C");

  AliCDBId id("DET/DCS/Data", 0, 0);

  // initialize location of CDB
  AliCDBManager::Instance()->SetDefaultStorage("local://./TestCDB");

  AliCDBManager::Instance()->Put(dcsAliasMap, id, &metaData);
}
 TestPreprocessor.C:1
 TestPreprocessor.C:2
 TestPreprocessor.C:3
 TestPreprocessor.C:4
 TestPreprocessor.C:5
 TestPreprocessor.C:6
 TestPreprocessor.C:7
 TestPreprocessor.C:8
 TestPreprocessor.C:9
 TestPreprocessor.C:10
 TestPreprocessor.C:11
 TestPreprocessor.C:12
 TestPreprocessor.C:13
 TestPreprocessor.C:14
 TestPreprocessor.C:15
 TestPreprocessor.C:16
 TestPreprocessor.C:17
 TestPreprocessor.C:18
 TestPreprocessor.C:19
 TestPreprocessor.C:20
 TestPreprocessor.C:21
 TestPreprocessor.C:22
 TestPreprocessor.C:23
 TestPreprocessor.C:24
 TestPreprocessor.C:25
 TestPreprocessor.C:26
 TestPreprocessor.C:27
 TestPreprocessor.C:28
 TestPreprocessor.C:29
 TestPreprocessor.C:30
 TestPreprocessor.C:31
 TestPreprocessor.C:32
 TestPreprocessor.C:33
 TestPreprocessor.C:34
 TestPreprocessor.C:35
 TestPreprocessor.C:36
 TestPreprocessor.C:37
 TestPreprocessor.C:38
 TestPreprocessor.C:39
 TestPreprocessor.C:40
 TestPreprocessor.C:41
 TestPreprocessor.C:42
 TestPreprocessor.C:43
 TestPreprocessor.C:44
 TestPreprocessor.C:45
 TestPreprocessor.C:46
 TestPreprocessor.C:47
 TestPreprocessor.C:48
 TestPreprocessor.C:49
 TestPreprocessor.C:50
 TestPreprocessor.C:51
 TestPreprocessor.C:52
 TestPreprocessor.C:53
 TestPreprocessor.C:54
 TestPreprocessor.C:55
 TestPreprocessor.C:56
 TestPreprocessor.C:57
 TestPreprocessor.C:58
 TestPreprocessor.C:59
 TestPreprocessor.C:60
 TestPreprocessor.C:61
 TestPreprocessor.C:62
 TestPreprocessor.C:63
 TestPreprocessor.C:64
 TestPreprocessor.C:65
 TestPreprocessor.C:66
 TestPreprocessor.C:67
 TestPreprocessor.C:68
 TestPreprocessor.C:69
 TestPreprocessor.C:70
 TestPreprocessor.C:71
 TestPreprocessor.C:72
 TestPreprocessor.C:73
 TestPreprocessor.C:74
 TestPreprocessor.C:75
 TestPreprocessor.C:76
 TestPreprocessor.C:77
 TestPreprocessor.C:78
 TestPreprocessor.C:79
 TestPreprocessor.C:80
 TestPreprocessor.C:81
 TestPreprocessor.C:82
 TestPreprocessor.C:83
 TestPreprocessor.C:84
 TestPreprocessor.C:85
 TestPreprocessor.C:86
 TestPreprocessor.C:87
 TestPreprocessor.C:88
 TestPreprocessor.C:89
 TestPreprocessor.C:90
 TestPreprocessor.C:91
 TestPreprocessor.C:92
 TestPreprocessor.C:93
 TestPreprocessor.C:94
 TestPreprocessor.C:95
 TestPreprocessor.C:96
 TestPreprocessor.C:97
 TestPreprocessor.C:98
 TestPreprocessor.C:99
 TestPreprocessor.C:100
 TestPreprocessor.C:101
 TestPreprocessor.C:102
 TestPreprocessor.C:103
 TestPreprocessor.C:104
 TestPreprocessor.C:105
 TestPreprocessor.C:106
 TestPreprocessor.C:107
 TestPreprocessor.C:108
 TestPreprocessor.C:109
 TestPreprocessor.C:110
 TestPreprocessor.C:111
 TestPreprocessor.C:112
 TestPreprocessor.C:113
 TestPreprocessor.C:114
 TestPreprocessor.C:115
 TestPreprocessor.C:116
 TestPreprocessor.C:117
 TestPreprocessor.C:118
 TestPreprocessor.C:119
 TestPreprocessor.C:120
 TestPreprocessor.C:121
 TestPreprocessor.C:122
 TestPreprocessor.C:123
 TestPreprocessor.C:124
 TestPreprocessor.C:125
 TestPreprocessor.C:126
 TestPreprocessor.C:127
 TestPreprocessor.C:128
 TestPreprocessor.C:129
 TestPreprocessor.C:130
 TestPreprocessor.C:131
 TestPreprocessor.C:132
 TestPreprocessor.C:133
 TestPreprocessor.C:134
 TestPreprocessor.C:135
 TestPreprocessor.C:136
 TestPreprocessor.C:137
 TestPreprocessor.C:138
 TestPreprocessor.C:139
 TestPreprocessor.C:140
 TestPreprocessor.C:141
 TestPreprocessor.C:142
 TestPreprocessor.C:143
 TestPreprocessor.C:144
 TestPreprocessor.C:145
 TestPreprocessor.C:146
 TestPreprocessor.C:147
 TestPreprocessor.C:148
 TestPreprocessor.C:149
 TestPreprocessor.C:150
 TestPreprocessor.C:151
 TestPreprocessor.C:152
 TestPreprocessor.C:153
 TestPreprocessor.C:154
 TestPreprocessor.C:155
 TestPreprocessor.C:156
 TestPreprocessor.C:157
 TestPreprocessor.C:158
 TestPreprocessor.C:159
 TestPreprocessor.C:160
 TestPreprocessor.C:161
 TestPreprocessor.C:162
 TestPreprocessor.C:163
 TestPreprocessor.C:164
 TestPreprocessor.C:165
 TestPreprocessor.C:166
 TestPreprocessor.C:167
 TestPreprocessor.C:168
 TestPreprocessor.C:169
 TestPreprocessor.C:170
 TestPreprocessor.C:171
 TestPreprocessor.C:172
 TestPreprocessor.C:173
 TestPreprocessor.C:174
 TestPreprocessor.C:175
 TestPreprocessor.C:176
 TestPreprocessor.C:177
 TestPreprocessor.C:178
 TestPreprocessor.C:179
 TestPreprocessor.C:180
 TestPreprocessor.C:181
 TestPreprocessor.C:182